注意输出
SHOW GRANTS FOR 'root'@'localhost';
没有说“ ALL PRIVILEGES”,而是不得不说出root @ localhost的含义。
授予所有特权将失败,因为用户无法授予他/她没有的特权,并且服务器似乎认为这里不存在某些东西…
现在,接下来缺少什么呢?
在我的系统上,我得到以下信息:
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: YInsert_priv: YUpdate_priv: YDelete_priv: YCreate_priv: Y Drop_priv: YReload_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: YCreate_tablespace_priv: Y <----------------------------- new column in 5.5 ssl_type: ssl_cipher: x509_issuer:x509_subject: max_questions: 0max_updates: 0 max_connections: 0 max_user_connections: 0 plugin: <------------------------------- new column in 5.5 authentication_string: <------------------------------- new column in 5.51 row in set (0.00 sec)
5.5中还有一些新表,例如mysql.proxies_user:确保您拥有它们。
安装全新的mysql服务器实例时,安装脚本将创建具有适当结构的所有mysql。*表。
从旧版本升级时,请确保使用正确的升级过程(mysql_upgrade),它将添加缺少的表/列。
这只是一个猜测,但似乎该实例的mysql_upgrade未完成,导致出现了这种现象。



