sqlyog로 db 접속하려면
본문
로키 9.5에서 mariadb를 설치하고 포트도 열고, sqlyog에서 접속이 안됩니다.
sqlyog에서 접속을 시도하면 Can't connect to MySQL server on IP주소 (10060)오류가 납니다.
ps ax |grep mysql 하면
250443 pts/1 S+ 0:00 mysql -u root -p mysql
250467 ? Ssl 0:03 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql
이렇게 mysql이 실행되고 있습니다.
또한 포트도 3306이열려있습니다.
netstat -tulnp | grep mysqld 하면
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 250513/mysqld
my.cnf파일을 만들어서 my.cnf파일은 아래처럼 되어있습니다.
cat /etc/my.cnf
[mysqld]
bind-address = 0.0.0.0
콘솔에서는 mysql로 접속이 됩니다.
콘솔에서 mysql 로 들어가서
show grants for 'root'@'IP주소';
하면 등록되어있는 것이
GRANT USAGE ON *.* TO `root`@`IP주소` IDENTIFIED BY PASSWORD '암호'
GRANT ALL PRIVILEGES ON `hanamsion`.* TO `root`@`IP주소`
GRANT ALL PRIVILEGES ON `donghang`.* TO `root`@`IP주소`
GRANT ALL PRIVILEGES ON `mysql`.* TO `root`@`IP주소`
GRANT ALL PRIVILEGES ON `bible`.* TO `root`@`IP주소`
이렇게 db와 사용자에도 권한을 주었습니다.
sqlyog에서 접속하도록 하려면 어떻게 해야할까요?
답변 1
혹시 아래의 내용도 확인을 해보시는게 어떠실지요?
1. 방화벽 확인 후 열기
sudo firewall-cmd --list-all
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload
2. MySQL 사용자 권한 확인
CREATE USER 'root'@'%' IDENTIFIED BY '비밀번호';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
3.my.cnf 설정 확인
[mysqld]
bind-address = 0.0.0.0
port = 3306
skip-networking = 0
skip-name-resolve = 1
4. MySQL 재시갖
sudo systemctl restart mysqld
5. SELinux 확인
sestatus
sudo setenforce 0 # 임시 비활성화