본문 바로가기

TroubleShooting/DB

MySQL 설치후 암호 설정 및 사용자 추가

728x90

mysql 을 설치후, 사용자를 추가하려고 할때 사용하는 방법입니다.
아래 링크에서 필요한 부분만을 발췌해서 정리합니다.
http://www.gpgstudy.com/gpgiki/MySQL%EC%97%90%EC%84%9C%20%EC%82%AC%EC%9A%A9%EC%9E%90%EC%99%80%20%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4%20%EB%A7%8C%EB%93%A4%EA%B8%B0

 

- root 암호 설정
# mysqladmin 이용
$ mysqladmin -u root "passwd" "new-passwd" 

# update 문 이용
$ mysql  -u root -p
mysql> update user set password = password('new-password') where user = 'root';
mysql> flush privileges;

# set password 이용
mysql> set pasword for root = password('new-password');

- 사용자 추가 
# USER 테이블에 insert
mysql> use mysql
mysql> INSERT INTO user VALUES('%', '사용자', PASSWORD('비밀번호'),
-> 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y'); 
=> insert 오류가 많이 나기 때문에 비추.

# grant 문 이용
 - 일반사용자 추가
mysql>
grant all privileges on DB명.* to DB사용자@localhost identified by '패스워드' with grant option; 
ex)
- localhost 의 TestDB DB 에 TestUser 사용자이고 패스워드는 TestPass grant all privileges on TestDB.* to TestUser@localhost identified by 'TestPass' with grant option; 

- 모든 호스트에서 접근가능하고 모든 DB 에 root 사용자이고 패스워드는 PASSWORD

grant all privileges on *.* to root@'%' identified by 'PASSWORD' with grant option;

# 사용자에게 DB 권한 주기
mysql> GRANT ALL on DB명.* TO DB사용자@'localhost';
:  DB명의 DB 사용자는 localhost 에서만 접근 권한을 가진다.
mysql> GRANT ALL on DB명.* TO DB사용자;
:  DB명의 DB사용자는 localhost 를 제외한 모든 곳에서 접근 권한을 가진다.