본문 바로가기

기술자료/기술운영자료

MySQL root 초기 암호 설정 및 유저 추가

- Mysqladmin을 이용하여 root 암호 설정

 

 

 

 

 

# mysqladmin -u root -p password new-password

 

 

 

 

 

 

 

 

- Update 문을 이용한 root 암호 설정

 

 

 

 

 

$ mysql -u root mysql

 

 

mysql> update user set password = password('new-password') where user = 'root';
mysql> flush privileges;

 

 

- Set password를 이용한 root 암호 설정

 

 

 

 

 

mysql> set password for root = password('new-password');

 

 


 

 

 

- MySQL에서 새로운 사용자 추가

 

 

mysql> use mysql
mysql> INSERT INTO user VALUES('%', '사용자', PASSWORD('비밀번호'),
     -> 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');

 

 

 

 

 

- 생성한 사용자에 권한 주기
mysql> INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv)
     -> VALUES('%', 'DB명', '사용자', 'Y', 'Y', 'Y', 'Y','Y','Y');

 

 

 

 

 

** 모든 권한을 줄거면 아래 명령어가 더 편리함.

 

 

mysql> GRANT ALL on DB명.* TO id@'localhost'  ;
mysql> GRANT ALL on DB명.* TO id;
mysql> GRANT ALL on DB명.* TO id@'xxx.xxx.xxx.%';

==> 첫번째 줄, localhost : DB가 로컬에 깔려 있는 경우에만 접속을 허용 하겠다는 뜻

 

 

==> 두번째 줄, 로컬호스트를 제외하고 모든 ip에서 접근을 시키겠다는 뜻

 

 

==> 세번째 줄, xxx.xxx.xxx.% C-Class만 허용하겠다는 의미

 

 

 

 

 

mysql> flush privileges;