오류 61이 발생하여 원격 MySQL 서버에 연결할 수 없습니다.
명령줄을 사용하여 원격 MySQL 서버를 연결하려고 했을 때mysql -h <remote-ip> -u any_existing_users -p또는 phphmyadmin과 같은 다른 mysql 클라이언트는 작동하지 않았고 오류 힌트는
ERROR 2003 (HY000) Can't connect to MySQL server on '<remote-ip>' (61)
그런데 제가.ssh <remote-ip>MySQL을 로컬로 연결했습니다.mysql -u root -p,문제가 없다.
사용자 테이블의 일부입니다(SELECT User, Host FROM mysql.user;):
+------------------+----------------+
| User | Host |
+------------------+----------------+
| root | % |
| other_users | <remote-ip> |
| root | localhost |
+------------------+----------------+
ipt 테이블은 다음과 같습니다.
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Chain RH-Firewall-1-INPUT (2 references)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255
3 ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0
4 ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0
5 ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353
6 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631
7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631
8 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
9 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
10 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
11 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:3306
그래서, 뭐가 문제일까요?
mysql 서버가 netstat으로 소켓에서 수신 중인지 확인합니다.
netstat -tulpen
3306을 검색합니다.
그렇지 않거나 localhost에만 있는 경우 my.cnf를 확인하고 검색합니다.bind-address줄을 긋고 다음으로 변경합니다.
bind-address = 0.0.0.0
그런 다음 서버를 다시 시작하고 다시 시도합니다.
상태 확인:
netstat -tulpen
구성 수정:
nano /etc/mysql/my.cnf
# Edit:
bind-address = 0.0.0.0
mysql을 입력하고 권한을 부여합니다.
mysql -umyuser -pmypassword
# Run:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
mysql 다시 시작
/etc/init.d/mysql restart
와 함께MySql 5.7그들은 파일을 바꿨습니다.bind-address현재 에 있습니다.
/etc/mysql/mysql.conf.d/mysqld.cnf
대신:
/etc/mysql/my.cnf
MAMP를 실행하는 경우, 액세스를 허용하는 것을 잊지 마십시오(mySQL 패널, "mySQL에 대한 네트워크 액세스 허용" 선택).
서버에 센토스 7을 설치한 후 바로 이런 문제가 생겼습니다.원격 컴퓨터에서 Mysql Workbench로 접속할 수 없었습니다.
방화벽 구성에 문제가 있습니다.결국 다음을 수행할 때 해결책이 나왔습니다.
sudo firewall-cmd --zone=public --permanent --add-service=mysql
그런 다음 방화벽을 다시 시작합니다.
sudo systemctl restart firewalld
MySQL의 "Access-Denied Errors의 원인"을 살펴보십시오.
http://dev.mysql.com/doc/refman/5.1/en/access-denied.html
서버에서 구성에 오류가 발생했거나 다른 프로그램이 동일한 포트를 사용하고 있습니까?아니면 서버가 "127.0.0.1"에 바인딩되어 있습니까?my.cnf 파일을 변경해 봅니다.
방화벽과 관련된 문제일 수도 있고 다음을 시도해 볼 수 있습니다.
서버 관리 -> MySQL -> 설정 -> 확인:네트워크 연결 허용
그런 다음 MySQL을 다시 시작합니다.
MacOS의 경우:
mysql -uroot -p
mysql> use mysql;
# View user's host
mysql> select 'host' from user where user='root';
# Update host to '%'
mysql> update user set host='%' where user='root';
mysql> flush privileges;
mysql> quit
vim /usr/local/etc/my.cnf
# Default Homebrew MySQL server config
[mysqld]
bind-address = 0.0.0.0
# Restart and reconnect MySQL
mysql.server restart
mysql -uroot -h0.0.0.0 -p
언급URL : https://stackoverflow.com/questions/16161889/cant-connect-to-remote-mysql-server-with-error-61
'programing' 카테고리의 다른 글
| 디렉토리에 있는 모든 자바스크립트 파일을 angularjs에 html 파일에 포함하시겠습니까?투덜거리며? (0) | 2023.10.17 |
|---|---|
| 고급 사용자 정의 필드 - 이전에 선택한 분류법으로 사후 개체 필드 필터링 (0) | 2023.10.17 |
| Python Process Pool non-daemonic? (0) | 2023.10.17 |
| 깃 푸쉬 오리진 헤드는 무엇을 의미합니까? (0) | 2023.10.17 |
| 플러그인 없이 두꺼운 상자에 내장된 워드프레스 사용 (0) | 2023.10.17 |