Add user for connect to remote on mysql
MySQL에 원격 접속을 하기 위해서는 계정과 환경 설정을 해 줘야 한다.
/* MySQL에 ip 바인딩 */ $ sudo vim /etc/my.cnf /* [mysqld] 섹션에 다음 내용 추가(내용이 있으면 수정 - ip는 인터페이스 ip) */ bind-adress = xxx.xxx.xxx.xxx /* 계정 만들기 */ mysql> CREATE USER 'userid'@'localhost' IDENTIFIED mysql_native_password BY 'passowrd'; mysql> CREATE USER 'userid'@'%' IDENTIFIED mysql_native_password BY 'password'; /* 계정에 권한주기 */ mysql> GTRANT ALL PRIVILEGES ON *.* TO 'userid'@'localhost' WITH GRANT OPTION; mysql> GTRANT ALL PRIVILEGES ON *.* TO 'userid'@'%' WITH GRANT OPTION; /* 방화벽에 MySQL 포트 추가 */ $ sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent $ sudo firewall-cmd --reload $ sudo firewall-cmd --list-all /* 추가 되었는지 확인사살 */
참고로 mysql_native_password 옵션은 mysql 8 부터 caching_sha2_password가 기본값이라 기존의 프로그래밍 방식에서 비밀번호 보안 암호를 지원하지 않을 경우 설정해 줘야 연결이 된다.