Назад | Перейти на главную страницу

Mysql не может создавать пользовательские / предоставлять привилегии для существующих (доступ запрещен)

После установки Mysql через apt-get на Ubuntu 12.0.4 LTS и возни с ним я оказался в положении, когда у меня нет учетной записи, которая могла бы выполнять какие-либо операции по предоставлению привилегий или созданию нового пользователя.

Я могу подключиться к нему только через

mysql --defaults-file = / и т.д. / mysql / debian.cnf

select host,user ,select_priv, Create_user_priv from mysql.user;

возвращает следующую таблицу:

+-----------+------------------+-------------+------------------+
| host      | user             | select_priv | Create_user_priv |
+-----------+------------------+-------------+------------------+
| localhost | apsc             | N           | N                |
| localhost | pma_GSn1wBscFLp0 | N           | N                |
| localhost | pp_sb_db         | N           | N                |
| localhost | debian-sys-maint | Y           | Y                |
| localhost | admin            | N           | N                |
| localhost | pma_FoXErUK90AbF | N           | N                |
+-----------+------------------+-------------+------------------+

Как мне создать root-пользователя со всеми привилегиями? Меня бы устроил полный сброс.

Команды, подобные следующей, возвращают только access denied ошибки

GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION

Похоже, что в вашей базе данных mysql нет пользователя root. Пользователь debian-sys-maint является эквивалентом root. Вот как добавить пользователя root:

mysql -u debian-sys-maint -p

При запросе пароля введите пароль, расположенный в /etc/mysql/debian.cnf оказавшись внутри базы данных, вы сможете запустить:

grant all privileges on *.* to 'root'@'localhost' identified by 'yourpassword' with grant option