mysql root 비밀번호 초기화 방법
1. mysql 기동을 종료 시킨후에 mysqld --skip-grant
2. mysql -uroot
3. use mysql
4. update user set password=password('1234') where user='root';
5. flush privileges;
root 계정에 권한부여
6. GRANT ALL ON *.* TO 'root'@'localhost' IDENTIFIED BY '비밀번호' WITH GRANT OPTION;
7. flush privileges;
8. exit
서비스 재기동후
mysql root 계정 접속
9. mysql -u root -p 를 입력후 Enter
password: 에서 비밀번호 입력후 가동
데이타베이스 생성
root 계정으로 접속
1. create database siso;
확인
show databases;
2. 만든db에 접속할 계정과 패스워드를 만든다.
grant all privileges on siso.* to 'siso'@localhost identified by 'siso';
3. db접속후 테이블 생성
use siso;
4. 테이블 생성
create table test(lgn_id varchar(40),
pass varchar(50),
memo varchar(100),
reg_date date,
mem_cnt int
);
5. desc test; 테이블 정보 확인
6. 새로 만든 계정으로 데이터베이스 접속후 생성한 테이블을 확인 해 봅시다.
1) cmd창을 호출합니다.
2) mysql -u 계정 -p 데이터베이스
비밀번호입력
mysql -u siso -p siso
비밀번호 : siso
insert into test (lgn_id,pass,memo,reg_date,mem_cnt)
values ('aaa','pass','memo',sysdate(),1);
insert into test (lgn_id,pass,memo,reg_date,mem_cnt)
values ('아이디','비밀번호','memo',sysdate(),1);
7. 데이타베이스 삭제
drop database 데이터베이스이름;
========================================
사용자 추가는 2가지 방법이 있습니다.
사용자를 추가하기 위해서는 'root' 계정으로 로그인 하여야 하구요. 아래 2가지 방법?으로 사용자를 추가 할 수 있습니다.
1) GRANT 명령을 통한 추가 (한방에 추가(명령 한번으로 사용자를 추가))
GRANT ALL PRIVILEGES ON 접근 허용 할 DB 이름.* TO 'new_user_id'@'%' IDENTIFIED BY 'new_user_password' WITH GRANT OPTION;
모든 테이블에 접근 하기위해서는 접근 허용 할 DB 이름.* ==> *.*
'new_user_id'@'%' 에서 '%'의 의미는 신규 계정이 접속할 위치의 제한을 두지 않겠다는 의미.
예) 'new_user_id'@'localhost' localhost 로 접속을 하였을 경우만 허용
'new_user_id'@'127.0.0.1' 127.0.0.1 로 접속 하였을 경우만 허용
'new_user_id'@'192.168.0.100' '192.168.0.100' 에서만 접속 허용.
2) 직접 사용자 테이블에 등록. (두방에...(두 단계에 걸쳐 사용자를 추가))
이 방법은 '사용자 ID'가 저장되어 있는 테이블에 직접 추가해 주는 방법 입니다.
MySql은 사용자 정보를 'MySQL.User' 테이블에서 관리되고 있습니다. 따라서 추가시에도 'MySql.User 테이블에 신규 계정을 등록 하면 됩니다.
로그인 후 'MySql' 테이블로 이동 하세요.
use mysql;
insert into user (host, user, password) values ('%', 'test', password('1234'));
mysql의 경우 사용자 패스워드를 'MD5'형태의 암호화 처리하여 관리하기 때문에 직접 테이블에 저장 시에는 'password()' 함수를 통해 패스워드를 MD5로 암호화 시켜 저장하여야 합니다.
select host, user, password from user;
신규 추가된 ID를 확인 할 수 있습니다.
사용자 계정 추가 후 'DB' 테이블에 사용할 데이터베이스 접근 권한을 추가 하여야 합니다.
GRANT ALL ON testdb.* to test_user@'%' >> 와 같이 'Grant' 명령을 통해 해당 DBase 에 뭐든 권한을 줄 수도 있고 또는 아래와 같이 접근 권한 Dbase 에 직접 등록을
통해 각각의 기능을 제한 할 수 있다.
'DB' 테이블의 'host, User' 컬럼은 사용자 추가 시에 등록한 사용자 정보를 동일하게 입력 하고 'Db' 컬럼에는 접근 가능한 데이터베이스 이름을 기록합니다.
나머지 컬럼은 권한 설정 컬럼으로 'Y/N' 입력 함으로써 설정이 가능 합니다.
사용자 삭제 시에는 테이블에서 삭제를 하면 됩니다.
delete from user where user = 'test';
delete from db where user = 'test';
변경 후에는 꼭 아래 명령을 통해 적용 시키거나 서비스를 다시 시작 하여야 합니다.
==> Flush Privileges
'데이터베이스 > Mysql' 카테고리의 다른 글
우분투(Ubuntu) 22.04/20.04/18.04에 마리아 db 11.0 설치 하는 방법 (0) | 2024.02.12 |
---|
댓글