728x90
300x250
[MySQL(또는 MariaDB)] Debian 10에서 외부 접속 허용하기

 

1. 외부 접속 허용해주기

 

$ sudo vi /etc/mysql/my.cnf을 열어보면 bind-address = 127.0.0.1 라는 부분이 있다.
이 부분을 주석 처리 하고 아래처럼 해준다.

 

#bind-address            = 127.0.0.1
bind-address            = *

 

2. Maria DB(또는 MySQL)에서 네트워크 대역 허용해주기

 

모든 IP 대역 네트워크

INSERT INTO mysql.user (host,user,password) VALUES ('%','root',password('패스워드'));
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES; 


특정 IP 대역 네트워크

INSERT INTO mysql.user (host,user,password) VALUES ('192.168.0.%','root',password('패스워드'));
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.0.%';
FLUSH PRIVILEGES;


3. 복구

 

모든 IP 대역 네트워크 복구하기

 

DELETE FROM mysql.user WHERE Host='%' AND User='root';
FLUSH PRIVILEGES;


특정 IP 대역 네트워크 복구하기

 

DELETE FROM mysql.user WHERE Host='192.168.0.%' AND User='root';
FLUSH PRIVILEGES;

 

 


[자주 나오는 오류]

 

ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value
Mysql 버전이 높아지면서 보안관련 인한 오류입니다.

User 생성시 Host, User ,Password, ssl_cipher, x509_issuer, x509_subject 를 입력 해 주셔야 합니다.
ssl_cipher, x509_issuer, x509_subject 값은 '' 빈값을 입력하세요.

ex)
 insert into user (Host, User, Password, ssl_cipher, x509_issuer, x509_subject )
values('localhost','사용자명',password('비밀번호'),'','','');

 

ERROR 1364 (HY000): Field 'authentication_string' doesn't have a default value

* mysql 5.5 에서 user 생성시 authentication_string 필드 추가. '' 값으로 넣어 주세요.


ex)
insert into user (Host, User, Password, ssl_cipher, x509_issuer, x509_subject, authentication_string)

values('localhost','사용자명', password('비밀번호'),'','','','');

반응형

+ Recent posts