0

我刚刚在 Debian 7.0.0 上安装了 MySQL。

我使用数据库成功从另一个系统导入

mysql -u root -p DBName <mysql27May13.dump

然后我使用成功登录到 MySQL

mysql -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
4

2 回答 2

2

如果您想更改 MySQL 用户名,您应该使用RENAME USER

RENAME USER root@localhost TO other_user@localhost
于 2013-05-27T21:46:15.913 回答
1

您要更新的表 -user在这种情况下 - 不在您的数据库中(我假设DBName这里称为 )。实际上,您需要的数据库简称为mysql.

您可以通过以下几种方式解决此问题:

  1. 运行更新mysql.user而不是user.
  2. use mysql在进行更新之前。
  3. RENAME正如@ExplosionPills 建议的那样,使用提供的关键字来完成这项工作。

我建议始终采用方法#3 进行用户管理,除非您确定您正在尝试做一些内置命令无法处理的事情。很有可能,你不是——如果你是,你会知道的。

于 2013-05-27T21:51:12.940 回答