티스토리 뷰
7. [MySQL] MySQL 리플리케이션 UUID 관련 에러
9. [MySQL]Workbench & DA# 모델링 그리기
1 문제상황
- MySQL을 설치하면 기본적으로 로컬(localhost)에서만 접속이 가능하고 외부에서는 접속이 불가능하게 되어 있다.
외부에서 접속해보면 다음과 같은 오류 메시지가 나온다.
Host '135.79.246.80' is not allowed to connect to this MySQL server
- Toad for MySQL과 같은 DB 관리 도구를 사용하여 DB에 원격으로 접속하려면 허용해주는 로컬 작업이 필요하다.
- 여기서는 root를 원격에서 접속할 수 있도록 설정한다. 이것을 응용하면 다른 계정에도 적용할 수 있다..
2 확인
- 로컬에서 접속하여 아래 쿼리를 날려보면 localhost가 나온다.
mysql> SELECT Host,User,plugin,authentication_string FROM mysql.user;
+-----------+------+-----------------------+-------------------------------------------+
| Host | User | plugin | authentication_string |
+-----------+------+-----------------------+-------------------------------------------+
| localhost | root | mysql_native_password | *8024A6913C57E024BDFC6E813A57DFB924E6803A |
| % | root | | |
+-----------+------+-----------------------+-------------------------------------------+
2 rows in set (0.000 sec)
즉 root 계정으로는 로컬에서만 접속가능하다.(같은 방법으로 root 대신 다른 사용자명도 조회할 수 있다.)버전이 5.7 이하에선 authentication_string 이 아닌 password 로 사용하여야 한다.
3 변경
- 아래에서 '아이디'는 root로 해도 되지만, root가 아닌 별도의 아이디를 사용하는 것이 보안상 유리하다.
3.1 모든 IP 허용
- 참고로 %은 모든 아이피를 포함하지만, localhost는 포함되지 않는다.
방법1.GRANT
GRANT ALL PRIVILEGES ON *.* TO '아이디'@'%' IDENTIFIED BY '패스워드';
mysql
방법2. INSERT+GRANT+FLUSH
INSERT INTO mysql.user (host,user,authentication_string,ssl_cipher, x509_issuer, x509_subject) VALUES ('%','아이디',password('패스워드'),'','','');
GRANT ALL PRIVILEGES ON *.* TO '아이디'@'%';
FLUSH PRIVILEGES;
3.2 IP 대역 허용
- 예: 111.222.xxx.xxx
방법1. GRANT
GRANT ALL PRIVILEGES ON *.* TO '아이디'@'111.222.%' IDENTIFIED BY '패스워드';
mysql
방법2. INSERT+GRANT+FLUSH
INSERT INTO mysql.user (host,user,authentication_string,ssl_cipher, x509_issuer, x509_subject) VALUES ('111.222.%','아이디',password('패스워드'),'','','');
GRANT ALL PRIVILEGES ON *.* TO '아이디'@'111.222.%';
FLUSH PRIVILEGES;
3.3 특정 IP 1개 허용
- 예: 111.222.33.44
방법1. GRANT
GRANT ALL PRIVILEGES ON *.* TO '아이디'@'111.222.33.44' IDENTIFIED BY '패스워드';
mysql
방법2. INSERT+GRANT+FLUSH
INSERT INTO mysql.user (host,user,authentication_string,ssl_cipher, x509_issuer, x509_subject) VALUES ('111.222.33.44','아이디',password('패스워드'),'','','');
GRANT ALL PRIVILEGES ON *.* TO '아이디'@'111.222.33.44';
FLUSH PRIVILEGES;
4 원래 상태로 복구
- 모든 IP를 허용한 경우 다음과 같이 원래 상태로 복구할 수 있다.
DELETE FROM mysql.user WHERE Host='%' AND User='아이디';
FLUSH PRIVILEGES
5 LISTEN IP대역 변경
root@zetawiki:~# netstat -ntlp | grep mysqld
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 7931/mysqld
console
root@zetawiki:~# vi /etc/mysql/my.cnf
console
#bind-address = 127.0.0.1
[mysqld]
bind-address = 0.0.0.0
ini
root@zetawiki:~# service mysql restart
mysql stop/waiting
mysql start/running, process 8190
console
root@zetawiki:~# netstat -ntlp | grep mysqld
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 8190/mysqld
7. [MySQL] MySQL 리플리케이션 UUID 관련 에러
9. [MySQL]Workbench & DA# 모델링 그리기9. MySQL Workbench - 모델링 다이어그램(EER Diagram) 그리기
'9. Mysql' 카테고리의 다른 글
7. [MySQL] MySQL 리플리케이션 UUID 관련 에러 (0) | 2020.04.15 |
---|---|
5. [MySQL]리플리케이션 방법 (0) | 2020.04.15 |
4. [MySQL]워크벤치 설치하기 (0) | 2020.04.15 |
1. [MySQL] 설치(CentOS) (0) | 2020.04.15 |
4. MySQL DataBase 생성후 사용자에게 권한 부여하기 (0) | 2019.11.04 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 코로나19
- K8s
- startup 에러
- 오라클 인스턴트클라이언트(InstantClient) 설치하기(HP-UX)
- 스토리지 클레스
- MSA
- directory copy 후 startup 에러
- ORACLE 트러블 슈팅(성능 고도화 원리와 해법!)
- [오라클 튜닝] instance 튜닝2
- 우분투
- [오라클 튜닝] sql 튜닝
- 테라폼
- ubuntu
- 여러서버 컨트롤
- 튜닝
- 쿠버네티스
- 오라클 홈디렉토리 copy 후 startup 에러
- 오라클 트러블 슈팅(성능 고도화 원리와 해법!)
- 앤시블
- 버쳐박스
- 키알리
- 오라클
- 커널
- 트리이스
- CVE 취약점 점검
- 5.4.0.1072
- 설치하기(HP-UX)
- Oracle
- pod 상태
- (InstantClient) 설치하기(HP-UX)
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함