以root身份访问mysql会将我记录为匿名用户

时间:2014-07-13 12:15:03

标签: mysql linux ubuntu

当我尝试

sudo mysql -uroot -p

我没有错误,但似乎我没有以root身份登录,因为:

SELECT USER(),CURRENT_USER();

返回:

+----------------+----------------+
| USER()         | CURRENT_USER() |
+----------------+----------------+
| root@localhost | @localhost     |
+----------------+----------------+

并且我无法执行GRANTUPDATE等任何管理命令,我只能查看information_schema表。

1 个答案:

答案 0 :(得分:0)

http://dev.mysql.com/doc/refman/4.1/en/information-functions.html#function_current-user说:

The value of CURRENT_USER() can differ from the value of 
USER(). ... One way this might occur is that there is no 
account listed in the grant tables for davida.

如果您无法以root身份登录,则可以在没有权限检查的情况下启动MySQL:How to start MySQL with --skip-grant-tables?或使用init文件http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html启动mysql。对于第二个选项,您应该使用INSERT而不是UPDATE,因为您的表没有root用户。