如何更改MySQL的用户名和密码?

23
我已在我的机器上安装了MySQL Server 5.0(Windows-7操作系统)

我现有的MySQL用户名和密码为root。我想同时更改它们。

许多人之前都问过这个问题,但对我来说都没有用。请问我应该如何以及从哪里更改它们?


1
这需要一个查询来解决,所以我认为问题在正确的地方? - Mad Dog Tannen
你应该向谷歌提问:http://dev.mysql.com/doc/refman/5.0/fr/passwords.html - Thibault
1
@KayNelson 非常感谢..! - Dnyanesh M
6个回答

41

只需从 MySQL 控制台执行此查询:

 UPDATE mysql.user SET user='newusername',
 password=PASSWORD('newpassword') WHERE user='root';
 FLUSH PRIVILEGES;

很好,这个工作表现出色。 - Mad Dog Tannen
2
重命名根目录是有争议的。这里有另一个StackExchange社区上的很好的答案:http://security.stackexchange.com/questions/6785/beneficial-to-rename-mysql-root-user - foobar
6
密码列现在被称为“authentication_string”,因此“authentication_string=PASSWORD('newpassword')”表示设置新密码。 - Braden Holt
你可能需要在此之后重新启动MySQL服务器。 - Braden Holt
不需要,因为 FLUSH PRIVILEGES; 命令会正确更新用户。 - Ghigo

8

说明

  1. 点击Windows的“开始”按钮,然后在搜索框中输入“cmd”。按下 Enter 打开Windows命令行。

  2. 输入“mysql”并按下 Enter 启动MySQL命令行实用程序。使用MySQL命令行,您可以更新数据库上的表。

  3. 键入以下SQL代码以更新root用户:
    UPDATE mysql.user SET user='newuser' WHERE User = 'root';
    newuser 替换为要使用的值代替 root

  4. 键入以下SQL代码以更改默认用户的密码:
    UPDATE mysql.user SET authentication_string = password('pass') WHERE User = 'newuser';
    pass 替换为新密码,并将 newuser 替换为您在上一步设置的用户名。

了解更多

从mysql控制台更改用户名和密码


1
不错的逐步教程!点赞! - Mad Dog Tannen
1
@KayNelson 谢谢,这鼓励了我。 - Amarnath Balasubramanian

4

请在MySQL控制台或命令提示符中使用以下命令:

步骤 1:mysql> use mysql;

步骤 2:CREATE USER '用户名'@'本地主机' IDENTIFIED BY '密码';


3
我建议您保持root用户并更改密码。拥有root用户很方便,重命名它是有争议的(请参见this conversation)。此外,如果您遵循良好的实践(例如IP /主机名限制),称其为“root”并不会那么“不安全”。
结论:如果您仍然感到不舒服,请更改root密码并确保访问服务器的安全性。然后,创建另一个用户名为USERNAME,密码为PASSWORD的用户。
  1. 更改根密码(在MySQL控制台中):

    UPDATE mysql.user SET Password=PASSWORD('YOURPASSWORDHERE') WHERE User='root'; FLUSH PRIVILEGES;

  2. 创建新用户:http://dev.mysql.com/doc/refman/5.0/fr/create-user.html

  3. 如果您的根用户拥有很多权限,您不想手动复制到新创建的用户,则使用存储过程可能是一个好的解决方案:在同一服务器上的数据库之间复制用户权限


3

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接