3 回答

TA貢獻2065條經(jīng)驗 獲得超14個贊
注意輸出
SHOW GRANTS FOR 'root'@'localhost';
沒有說“ ALL PRIVILEGES”,而是不得不說出root @ localhost的含義。
授予所有特權(quán)將失敗,因為用戶無法授予他/她沒有的特權(quán),并且服務(wù)器似乎認為這里不存在某些東西...
現(xiàn)在,接下來缺少什么呢?
在我的系統(tǒng)上,我得到以下信息:
mysql> select version();
+------------+
| version() |
+------------+
| 5.5.21-log |
+------------+
1 row in set (0.00 sec)
mysql> SHOW GRANTS FOR 'root'@'localhost';
+---------------------------------------------------------------------+
| Grants for root@localhost |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
2 rows in set (0.00 sec)
mysql> SELECT * FROM mysql.user WHERE User='root' and Host='localhost'\G
*************************** 1. row ***************************
Host: localhost
User: root
Password:
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: Y
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y
Event_priv: Y
Trigger_priv: Y
Create_tablespace_priv: Y <----------------------------- new column in 5.5
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin: <------------------------------- new column in 5.5
authentication_string: <------------------------------- new column in 5.5
1 row in set (0.00 sec)
5.5中還有一些新表,例如mysql.proxies_user:確保您擁有它們。
安裝全新的mysql服務(wù)器實例時,安裝腳本將創(chuàng)建具有適當結(jié)構(gòu)的所有mysql。*表。
從舊版本升級時,請確保使用正確的升級過程(mysql_upgrade),它將添加缺少的表/列。
這只是一個猜測,但似乎該實例的mysql_upgrade未完成,導致出現(xiàn)了這種現(xiàn)象。

TA貢獻1780條經(jīng)驗 獲得超5個贊
當我嘗試安裝比發(fā)行版隨附的MySQL版本更高的MySQL版本時,發(fā)生了這種情況。
我刪除了舊版本,然后安裝了新版本(rpm -e ...然后是rpm -i MySQL-server *),但沒有意識到/ var / lib / mysql中的文件仍然來自較早版本(區(qū)別在于由Marc Alff解釋-謝謝?。?/p>
我本可以做一個mysql_upgrade,但是由于我想從頭開始,所以我做了:
# su - mysql
$ rm -rf /var/lib/mysql/*
$ mysql_install_db
# /etc/init.d/mysql start
然后設(shè)置root密碼(/ usr / bin / mysqladmin -u root密碼),所有命令都可以通過GRANT命令正常工作...
添加回答
舉報