
현재 중앙 집중식 MySQL 서버(예: 192.168.0.10)에 연결되는 서버가 하나 있습니다. 이 서버는 이미 이 IP 주소(예: 192.168.0.20)에서의 원격 연결을 허용하고 있으며 지금까지의 변경에도 불구하고 계속 작동합니다. 이 하나의 IP 주소에 대해.
다음과 같이 다른 호스트에서 동일한 사용자 이름과 비밀번호에 대한 액세스 권한을 부여하려고 하면:
update db set host='192.168.0.%' where user='username';
update user set host='192.168.0.%' where user='username';
flush privileges;
모든 것이 여전히 동일하게 유지됩니다. 192.168.0.20에서는 여전히 연결할 수 있지만 192.168.0.25에서는 여전히 연결할 수 없습니다. 오류 메시지가 나타납니다.
오류 1130(HY000): '192.168.0.25' 호스트는 이 MySQL 서버에 연결할 수 없습니다.
나는 이것이 어떻게 잘못되었는지 알 수 없습니다. 모든 문서에는 작동해야 한다고 나와 있습니다. 또한 192.168.0.25의 연결을 방화벽으로 설정하지 않습니다. MySQL을 다시 시작해도 아무런 효과가 없습니다. 이 네트워크의 다른 IP는 이전에 허용되지 않았던 IP라도 문제 없이 MySQL에 연결할 수 있으며 192.168.0.25에서 192.168.0.10으로 ping을 보낼 수 있습니다.
답변1
mysql.user
. 테이블뿐만 아니라 테이블도 수정해야 합니다 mysql.db
.
올바른 구문은 다음과 같습니다.
RENAME USER 'user'@'192.168.0.10' TO 'user'@'192.168.0.%';
FLUSH PRIVILEGES;