Mysql

即使在刷新之後,為使用者授予權限似乎也不適用

  • October 17, 2018

我正在創建一個測試系統,需要授予使用者遠端數據庫訪問權限。我正在這樣做:

mysql> SHOW GRANTS for codingo;
ERROR 1141 (42000): There is no such grant defined for user 'codingo' on host '%'
mysql> GRANT ALL PRIVILEGES ON *.* to 'codingo'@'localhost' WITH GRANT OPTION;
Query OK, 0 rows affected (0.01 sec)

但是,在我flush privileges審查它們之後,它們似乎並不適用:

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW GRANTS for codingo;
ERROR 1141 (42000): There is no such grant defined for user 'codingo' on host '%'

我目前正在使用:

mysql Ver 14.14 Distrib 5.7.23,適用於使用 EditLine 包裝器的 Linux (x86_64)

但是,當我執行時,使用者會顯示權限:

mysql> select * from mysql.user where user='codingo' and host='localhost';

我還編輯過:

/etc/mysql/mysql.conf.d/mysqld.cnf 

綁定地址0.0.0.0(計劃在調試後硬化)仍然不允許遠端連接。

但是我無法遠端連接到這個,甚至無法與這個使用者在本地連接。

這是在一個完全修補的 Ubuntu 伺服器上。我還執行了 MySQL 強化腳本,所以我認為有什麼東西阻止了我創建額外的管理員,但我對此知之甚少,無法通過Google解決問題。當然願意接受建議!

錯誤說明了一切

ERROR 1141 (42000): There is no such grant defined for user 'codingo' on host '%'

您設置了授權,localhost但檢查了授權%

嘗試

SHOW GRANTS for codingo@localhost;

引用自:https://serverfault.com/questions/935944