当我尝试
时sudo mysql -uroot -p
我没有错误,但似乎我没有以root身份登录,因为:
SELECT USER(),CURRENT_USER();
返回:
+----------------+----------------+
| USER() | CURRENT_USER() |
+----------------+----------------+
| root@localhost | @localhost |
+----------------+----------------+
并且我无法执行GRANT
或UPDATE
等任何管理命令,我只能查看information_schema
表。
答案 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用户。