MySQL [MariaDB] 데이터베이스 생성 / 권한 부여 / 접속
페이지 정보
본문
클라이언트 툴에서 root로 접근해보면 host "xxx.xxx.xxx.xxx' is not allowed to connect to this mariadb server 라는 오류메시지가 나옵니다.
접근을 위한 계정등록을 해야지만 내부 혹은 외부에서 DB에 접근이 가능해집니다.
1. 터미널에서 MariaDB콘솔 로그인
[root@localhost ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 22
Server version: 10.2.12-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
2-1. 디비 생성
MariaDB [(none)]> create database 신규디비;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| 신규디비 |
+--------------------+
4 rows in set (0.00 sec)
2-2. 디비삭제
MariaDB [(none)]> drop database 신규디비;
3-1. 아이디 생성
MariaDB [(none)]> use mysql;
MariaDB [(none)]> select host, user, password from user;
MariaDB [(none)]> create user '신규아이디'@'%' identified by '비밀번호';
3-2. 아이디삭제
MariaDB [(none)]> drop user 신규아이디@localhost;
Query OK, 0 rows affected (0.00 sec)
4-1. 로컬에서만 접근가능한 계정생성 및 권한부여
MariaDB [(none)]> create user '신규아이디'@'localhost' identified by '비밀번호';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all privileges on 신규디비.* to '신규아이디'@'localhost';
Query OK, 0 rows affected (0.00 sec)
4-2. 외부에서 접근가능한 계정생성 및 권한부여(특정 IP로만 접근을 제한하고싶다면 %대신 IP입력)
MariaDB [(none)]> create user '신규아이디'@'%' identified by '비밀번호';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all privileges on 신규디비.* to '신규아이디'@'%';
Query OK, 0 rows affected (0.00 sec)
5-1. 모든 IP 허용
MariaDB [(none)]> insert into mysql.user (host,user,password) values ('%','root',password('비밀번호'));
MariaDB [(none)]> grant all privileges on *.* to 'root'@'%';
MariaDB [(none)]> flush privileges;
5-2. IP 대역 허용
MariaDB [(none)]> insert into mysql.user (host,user,password) values ('111.222.%','root',password('비밀번호'));
MariaDB [(none)]> grant all privileges on *.* to 'root'@'111.222.%';
MariaDB [(none)]> flush privileges;
5-3. 특정 IP 1개 허용
MariaDB [(none)]> insert into mysql.user (host,user,password) values ('111.222.33.44','root',password('비밀번호'));
MariaDB [(none)]> grant all privileges on *.* to 'root'@'111.222.33.44';
MariaDB [(none)]> flush privileges;
5-4. 원래 상태로 복구 (모든 ip를 허용한 경우 다음과 같이 하면 원래 상태로 복구할 수 있다.
MariaDB [(none)]> delete from mysql.user where host='%' and user='root';
MariaDB [(none)]> flush privileges;
참고자료
http://ora-sysdba.tistory.com/entry/MariaDB-Maria-DB-데이터베이스-생성-권한-부여-접속
http://zetawiki.com/wiki/MySQL_원격_접속_허용
접근을 위한 계정등록을 해야지만 내부 혹은 외부에서 DB에 접근이 가능해집니다.
1. 터미널에서 MariaDB콘솔 로그인
[root@localhost ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 22
Server version: 10.2.12-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
2-1. 디비 생성
MariaDB [(none)]> create database 신규디비;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| 신규디비 |
+--------------------+
4 rows in set (0.00 sec)
2-2. 디비삭제
MariaDB [(none)]> drop database 신규디비;
3-1. 아이디 생성
MariaDB [(none)]> use mysql;
MariaDB [(none)]> select host, user, password from user;
MariaDB [(none)]> create user '신규아이디'@'%' identified by '비밀번호';
3-2. 아이디삭제
MariaDB [(none)]> drop user 신규아이디@localhost;
Query OK, 0 rows affected (0.00 sec)
4-1. 로컬에서만 접근가능한 계정생성 및 권한부여
MariaDB [(none)]> create user '신규아이디'@'localhost' identified by '비밀번호';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all privileges on 신규디비.* to '신규아이디'@'localhost';
Query OK, 0 rows affected (0.00 sec)
4-2. 외부에서 접근가능한 계정생성 및 권한부여(특정 IP로만 접근을 제한하고싶다면 %대신 IP입력)
MariaDB [(none)]> create user '신규아이디'@'%' identified by '비밀번호';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all privileges on 신규디비.* to '신규아이디'@'%';
Query OK, 0 rows affected (0.00 sec)
5-1. 모든 IP 허용
MariaDB [(none)]> insert into mysql.user (host,user,password) values ('%','root',password('비밀번호'));
MariaDB [(none)]> grant all privileges on *.* to 'root'@'%';
MariaDB [(none)]> flush privileges;
5-2. IP 대역 허용
MariaDB [(none)]> insert into mysql.user (host,user,password) values ('111.222.%','root',password('비밀번호'));
MariaDB [(none)]> grant all privileges on *.* to 'root'@'111.222.%';
MariaDB [(none)]> flush privileges;
5-3. 특정 IP 1개 허용
MariaDB [(none)]> insert into mysql.user (host,user,password) values ('111.222.33.44','root',password('비밀번호'));
MariaDB [(none)]> grant all privileges on *.* to 'root'@'111.222.33.44';
MariaDB [(none)]> flush privileges;
5-4. 원래 상태로 복구 (모든 ip를 허용한 경우 다음과 같이 하면 원래 상태로 복구할 수 있다.
MariaDB [(none)]> delete from mysql.user where host='%' and user='root';
MariaDB [(none)]> flush privileges;
참고자료
http://ora-sysdba.tistory.com/entry/MariaDB-Maria-DB-데이터베이스-생성-권한-부여-접속
http://zetawiki.com/wiki/MySQL_원격_접속_허용
댓글목록
등록된 댓글이 없습니다.