메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


외부 접속 로컬 접속 할지 권한 부여

grant all privileges on dbname.* to dbuser@localhost identified by ‘user_password’ with grant option;

1. DB 생성
mysql>CREATE DATABASE db_name;
mysql>CREATE SCHEMA db_name DEFAULT CHARACTER SET utf8; //기본 캐릭터 지정

mysql>DROP DATABASE db_name; //DB삭제

2. USER 생성
mysql> CREATE USER ‘userID’@’localhost’ IDENTIFIED BY ‘user_password’; // localhost 내부만 사용할 때
mysql> CREATE USER ‘userID’@’%’ IDENTIFIED BY ‘user_password’; // % 외부접속 허용

mysql> DROP USER userID@localhost; // localhost 내부만 사용할 때
mysql> DROP USER userID@’%’ ; // % 외부접속 허용

3. DB사용권한 설정
mysql>GRANT SELECT, INSERT, UPDATE ON db_name.* TO userID@ localhost;
*권한의 종류: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER

mysql> GRANT ALL ON db_name.* TO userID@’localhost’;
mysql> GRANT ALL ON db_name.* TO userID@’%’;
mysql> GRANT ALL ON db_name.* TO userID@’192.168.5.%’; //C 클래스 전체
mysql> GRANT ALL ON db_name.* TO userID@’192.168.5.10′; //특정IP

mysql> REVOKE ALL ON db_name. table_name FROM userID@’localhost’;

mysql> FLUSH PRIVILEGES;

4. 특정 사용자의 grant 목록조회
mysql> show grants for ‘root’;
mysql> show grants for ‘root’@’localhost’;
mysql> show grants for ‘root’@’123.456.78.9’;
테이블 컬럼정보: mysql> show columns form table_name; or DESC table_name;

mysql> SELECT Host FROM mysql.user WHERE user=’root’;

+—————+

| Host |

+—————+

| 127.0.0.1 |

| localhost |

+—————+

2 rows in set (0.00 sec)

root는 내부에서만 접속 가능하다는 설정이 되어 있다.


5. 모든 ip 허용

mysql> INSERT INTO mysql.user (host,user,password) VALUES (‘%’,’root’,password(‘패스워드’));

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’;

mysql> FLUSH PRIVILEGES;

6. 특정 대역 허용

mysql> INSERT INTO mysql.user (host,user,password) VALUES (‘123.234.%’,’root’,password(‘패스워드’));

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root’@’123.234.%’;

mysql> FLUSH PRIVILEGES;

7. 특정 IP 허용(1개씩)

mysql> INSERT INTO mysql.user (host,user,password) VALUES (‘123.234.345.456′,’root’,password(‘패스워드’));

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root’@’123.234.345.456’;

mysql> FLUSH PRIVILEGES;

8. 변경 후 복구 방법

mysql> DELETE FROM mysql.user WHERE Host=’%’ AND User=’root’;

mysql> FLUSH PRIVILEGES;
위로