Задать вопрос

MySQL: пользователь root без GRANT, что делать?

Здравствуйте.

Получилось так, что я накосячил при переносе базы с одного сервера на другой, и перенёс её вместе с базой mysql.

После чего я обнаружил, что я не могу даже рестартануть mysql, т.к. у пользователя debian-sys-maint нет на это прав, но это не суть, как эту проблему решить потом, я уже нашёл.


Дело в том, что пользователь root у меня почему-то без GRANT. Т.е. он может делать всё, но не может создать например нового юзера.
mysql -uroot -p
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 900
Server version: 5.5.28-1~dotdeb.0 (Debian)

GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '...' WITH GRANT OPTION;

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)



Вот и всё. Получается, что у моего root-пользователя нет прав на создание пользователей и назначение прав.

Помогите пожалуйста наделить рута правами)

Заранее спасибо!
  • Вопрос задан
  • 17225 просмотров
Подписаться 8 Оценить 1 комментарий
Ответ пользователя KEKSOV К ответам на вопрос (4)
KEKSOV
@KEKSOV
Попробуйте mysql -u root -p -h <IP хоста> где IP это не 127.0.0.1
иногда root@localhost и root@* имеют разные права.

Как вариант — скопируйте базу mysql к себе (переименовав предварительно) и измените права у roota, а потом верните ее на место. Сервер в это время должен быть выключен.
Ответ написан