LINUX.ORG.RU
ФорумAdmin

Access denied после переноса сервиса на другой хост

 


0

2

Всем привет

Имеется некий сервис, использующий mysql. Всё нормально работало, пока я не перенёс сервис с узла Х на узел У.

grant all on ...

сделал, старую запись удалил. Через

mysql -u user -p
зайти могу, но ни одного селекта сделать не могу.

show grants for ...

показывает правильные привилегии.

Где могла собака порыться?

UPD: как только восстановил старю grant-запись - доступ появился. Как-то можно сделать так, чтобы избавиться от этой записи? Нашёл решение, потому что mysqldump сказал:

Got error: 1449: The user specified as a definer does not exist when using LOCK TABLES

Заранее спасибо



Последнее исправление: hc (всего исправлений: 2)
Ответ на: комментарий от ii343hbka

flush privileges делал. Перезапуск ожидаемо ничего не дал

hc
() автор топика

А входишь точно тем пользователем который grant all on?
Имей в виду что vasya@10.0.0.1 и vasya@10.0.0.2 это два совершенно разных васи.
Покажи строку grant целиком что-ли. И откуда куда ты подключаешься утилитой mysql?

P.S. ещё тонкий момент, о котором, оказывается, не все знают: vasya@localhost и vasya@127.0.0.1 это тоже совсем разные васи. localhost это подключение через unix-сокет. По умолчанию mysql (mysql -u vasya -p) использует сокет.

MrClon ★★★★★
()
Последнее исправление: MrClon (всего исправлений: 1)
Ответ на: комментарий от MrClon

UPD: как только восстановил старю grant-запись - доступ появился. Как-то можно сделать так, чтобы избавиться от этой записи? Нашёл решение, потому что mysqldump сказал:

Got error: 1449: The user specified as a definer does not exist when using LOCK TABLES

Старая grant-запись была для user@192.168.10.3. Новая - для user@localhost. Соединение происходит через сокет, всё нормально. Не знаю, как сделать, чтобы без старой записи работало

hc
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.