root 登录并不代表你是 root%locahost 用户。做如下检查并把结果贴出来看看。select CURRENT_USER(); show grants;mysql> select CURRENT_USER(); +----------------+ | CURRENT_USER() | +----------------+ | root@localhost | +----------------+ 1 row in set (0.00 sec)mysql> show grants; +------------------------------------------------------------------------------- ---------------------------------------------------------+ | Grants for root@localhost | +------------------------------------------------------------------------------- ---------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*23A E809DDACAF96AF0FD78ED04B6A265E05AA257' WITH GRANT OPTION | +------------------------------------------------------------------------------- ---------------------------------------------------------+ 1 row in set (0.00 sec)mysql>
show grants;mysql> select CURRENT_USER();
+----------------+
| CURRENT_USER() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)mysql> show grants;
+-------------------------------------------------------------------------------
---------------------------------------------------------+
| Grants for root@localhost
|
+-------------------------------------------------------------------------------
---------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*23A
E809DDACAF96AF0FD78ED04B6A265E05AA257' WITH GRANT OPTION |
+-------------------------------------------------------------------------------
---------------------------------------------------------+
1 row in set (0.00 sec)mysql>