更改mysql的root账户密码

Mysql IT敢客 2年前 (2016-11-03) 8778次浏览 已收录 0个评论 扫描二维码

你可以用几种方法为 root 账户指定密码。以下介绍了三种方法:

  1. 使用 SET PASSWORD 语句

  2. 使用 mysqladmin 命令行客户端程序

  3. 使用 UPDATE 语句

要想使用 SET PASSWORD 指定密码,用 root 连接服务器并执行两个 SET PASSWORD 语句。一定要使用 PASSWORD()函数来加密密

要想使用 mysqladmin 为 root 账户指定密码,执行下面的命令:

mysqladmin -u root password "newpwd"
mysqladmin -u root -h host_name password "newpwd"

上述命令适用于 Windows 和 Unix。用服务器主机名替换第二个命令中的 host_name。不一定需要将密码用双引号引起来,但是你如果密码中包含空格或专用于命令解释的其它字符,则需要用双引号引起来。

 你还可以使用 UPDATE 直接修改 user 表。下面的 UPDATE 语句可以同时为两个 root 账户指定密码:shell> mysql -u root

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

UPDATE 语句适用于 Windows 和 Unix。

设置完密码后,当你连接服务器时你必须提供相应密码。例如,如果你想要用 mysqladmin 关闭服务器,可以使用下面的命令:

shell> mysqladmin -u root -p shutdown
Enter password: (enter root password here)

 在 user 表中直接使用 UPDATE 更新密码后,必须让服务器用 FLUSH PRIVILEGES 重新读授权表。否则,重新启动服务器前,不会使用更改。

mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')
    ->     WHERE User = '';
mysql> FLUSH PRIVILEGES;

  如果你宁愿删除匿名账户,操作方法是:

shell> mysql -u root
mysql> DELETE FROM mysql.user WHERE User = '';
mysql> FLUSH PRIVILEGES;

可以在 Windows 和 Unix 中使用 DELETE 语句。在 Windows 中,如果你只想删掉具有与 root 相同权限的匿名账户,方法为:

shell> mysql -u root
mysql> DELETE FROM mysql.user WHERE Host='localhost' AND User='';
mysql> FLUSH PRIVILEGES;

  该账户允许匿名访问,但是拥有全部的权限,因此删掉它可以提高安全。


IT 敢客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:更改 mysql 的 root 账户密码
喜欢 (155)
[313176056@qq.com]
分享 (0)
IT敢客
关于作者:
“我所做的一切都是为了方便我的生活~~~“
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址