2016. 9. 4. 03:11 Linux Server/mysql
[mysql] 계정생성 및 권한설정
[사용자 추가하기]
mysql> create user 유저아이디;
Query OK, O rows affected (0.07 sec)
[사용자 추가시 패스워드까지 설정]
mysql> create user 유저아이디@localhost identified by '비밀번호'; -> @뒤에 localhost 부분은 로컬에서만 접근이 가능하다는 의미, 외부에서 접근 불가
Query OK, O rows affected (0.00 sec)
[사용자 추가시 외부에서 접근 가능하도록 설정]
mysql> create user '유저아이디'@'%' identified by '비밀번호'; -> '%' 부분은 localhost 및 외부에서 접근이 가능하다는 의미.
Query OK, O rows affected (0.09 sec)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[localhost에서만 접근가능하도록 변경]
mysql> insert into user(host,user,password) values ('localhost','유저아이디',password('비밀번호'));
Query OK, 1 rows affected, 3 warnings (0.06 sec)
[외부에서도 접근가능하도록 변경]
mysql> insert into user(host,user,password) values ('%','유저아이디',password('비밀번호'));
Query OK, 1 rows affected, 3 warnings (0.00 sec)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[userid 계정에게 test 데이터베이스의 모든 테이블에 select, insert, update 권한부여]
[userid 계정에게 모든 데이터베이스의 모든 테이블에 권한부여]
mysql> grant all privileges on *.* to userid@localhost identified by 'password' with grant option;
Query OK, 0 rows affected (0.00 sec)
[데이터베이스 추가 및 권한 주기]
mysql> CREATE DATABASE 데이터베이스명;
mysql> GRANT ALL privileges ON 데이터베이스명.* TO 유저명@localhost IDENTIFIED BY '유저패스워드';
mysql> GRANT ALL privileges ON 데이터베이스명.* TO 유저명@127.0.0.1 IDENTIFIED BY '유저패스워드';
mysql> GRANT ALL privileges ON 데이터베이스명.* TO 유저명@'%' IDENTIFIED BY '유저패스워드'; -> 외부에서 해당DB로 접근가능
[userid 계정의 모든 데이터베이스 사용권한 제거]
mysql> revoke all on *.* from userid@localhost;
Query OK, 0 rows affected (0.00 sec)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[특정 IP에서만 접근 가능하도록 설정]
mysql> grant all privileges on *.* to '유저아이디'@'115.68.27.76' identified by '비밀번호';
Query OK, 0 rows affected (0.00 sec)
[특정 IP대역 에서만 접근 가능하도록 설정]
mysql> grant all privileges on *.* to '유저아이디'@'115.68.%' identified by '비밀번호';
Query OK, 0 rows affected (0.00 sec)
[모든 IP의 접근 허용]
mysql> grant all privileges on *.* to '유저아이디'@'%' identified by '비밀번호';
Query OK, 0 rows affected (0.00 sec)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[mysql 트러블슈팅]
mysql> insert into user (host, user, password) values ('%' , '유저아이디', password('비밀번호'));
ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value -> 명령어를 잘 입력하였는데도 이처럼 에러가 날경우
'Linux Server > mysql' 카테고리의 다른 글
[mysql] 데이터베이스 백업 및 복구 (2) | 2016.09.04 |
---|---|
[mysql] root 패스워드 초기화 (0) | 2016.09.04 |
[mysql] 패스워드 변경 방법 (0) | 2016.09.04 |
[mysql] 슬로우쿼리 설정 (0) | 2016.09.03 |
[mysql] 테이블 손상 확인 및 복구방법 (1) | 2016.09.03 |