Я хочу выполнить команду
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
Но у меня ошибка:
ERROR 1045 (28000): Access denied for user 'root'@'%' (using password: NO)
Когда я проверяю свои гранты, у меня есть USAGE
, больше ничего.
MariaDB [(none)]> SHOW GRANTS;
+----------------------------------+
| Grants for root@% |
+----------------------------------+
| GRANT USAGE ON *.* TO 'root'@'%' |
+----------------------------------+
команда
CREATE DATABASE test;
Не работает.
GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY '...' WITH GRANT OPTION;
Но, если у вас нет привилегии SUPER
чтобы это сделать, см. Страницу руководства о том, как войти (с того же сервера), используя --skip-grant-tables
Сообщение об ошибке сообщает вам, что у вас нет прав на изменение пользовательских грантов.
Вам нужны гранты GRANT OPTION
и ALL PRIVILEGES
чтобы предоставить их другому пользователю (в том числе и самому).
Я исправил его по командам
sudo apt-get remove --purge mysql-\*
sudo apt-get install mysql-server mysql-client
найдено по адресу
https://askubuntu.com/questions/643251/having-trouble-installing-and-removing-mysql-in-ubuntu
Но мне любопытно, нет ли такого инвазивного решения.
GRANT OPTION
ИALL PRIVILEGES
?root@localhost
. Убедитесь, что вы подключаетесь через сокет UNIX, чтобы он использовал имя хостаlocalhost
.