我刚刚在Debian 7.0.0上安装了MySQL。
我使用
成功地从其他系统导入了数据库mysql -u root -p DBName <mysql27May13.dump
然后我使用
成功登录MySQLmysql -u root -p
然后我使用
成功选择了数据库use DBName;
另外
show tables;
显示我导入的表格。但是,当我尝试使用
更改root用户名时update user set user='SomeNewName' where user='root';
我收到错误消息
ERROR 1146 (42S02): Table 'DBName.user' doesn't exist
答案 0 :(得分:2)
如果您想更改MySQL用户名,请使用RENAME USER
RENAME USER root@localhost TO other_user@localhost
答案 1 :(得分:1)
您要更新的表 - 在这种情况下为user
- 不在您的数据库中(我假设在此处称为DBName
)。事实上,您需要的数据库简称为mysql
。
您可以通过以下几种方式解决此问题:
mysql.user
而不是user
上运行您的更新。use mysql
。RENAME
关键字代替工作,正如@ExplosionPills建议的那样。我建议总是采用方法#3进行用户管理,除非你确定你正在尝试做一些内置命令无法处理的事情。机会是,你不是 - 如果你是,你就会知道。