
В настоящее время у меня есть один сервер, который подключается к централизованному серверу 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 в этой сети могут подключаться к MySQL без каких-либо проблем — даже те, которые ранее не были разрешены — и я могу пинговать 192.168.0.10 с 192.168.0.25.
решение1
Вам необходимо изменить mysql.user
таблицу, а не только mysql.db
.
Правильный синтаксис:
RENAME USER 'user'@'192.168.0.10' TO 'user'@'192.168.0.%';
FLUSH PRIVILEGES;