Mysql

Sandbox-HDP MySQL 伺服器使用 –skip-grant-tables 選項執行,因此無法執行此語句

  • July 29, 2019

我在我的 Hortonworks HDP 上安裝了 MySQL 和 MySQL 社區伺服器。我開始服務並嘗試更改密碼

/usr/bin/mysql_secure_installation

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.
The 'validate_password' plugin is installed on the server.
The subsequent steps will run with the existing configuration
of the plugin.
Please set the password for root here.

New password: 

Re-enter new password: 

Estimated strength of the password: 50 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
... Failed! Error: The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

而且這個過程一次又一次地重複。

skip=grant-tables我從我的/etc/my.conf文件中刪除

我嘗試了 bart 的建議,它首先有效,但後來我遇到了同樣的問題。

I logged as a root.
mysql> create database registry;
Query OK, 1 row affected (0.05 sec)

mysql> CREATE USER 'registry'@'%' IDENTIFIED BY 'R12$%34qw';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

如何解決這個問題?

只需正常停止並重新啟動 MySQL。

編輯

除此以外:

確保刷新權限:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

文件中:

刷新特權

從 mysql 數據庫中的授權表重新載入權限。

作為 GRANT 和 CREATE USER 語句的結果,伺服器將資訊記憶體在記憶體中。該記憶體不會被相應的 REVOKE 和 DROP USER 語句釋放,因此對於執行許多導致記憶體的語句實例的伺服器,記憶體使用量會增加。可以使用 FLUSH PRIVILEGES 釋放此記憶體記憶體。

引用自:https://unix.stackexchange.com/questions/532690