mysql root 密码恢复

如果你从未为 MySQL设置根用户密码,服务器在以根用户身份进行连接时不需要密码。但是,建议你为每个账户设置密码。
如果你以前设置了根用户密码,但却忘记了该密码,可设置新的密码。下述步骤是针对 Windows平台的。在本节后面的内容中,介绍了针对 Unix平台的步骤。
在 Windows平台下,该步骤是:
以系统管理员身份登录到系统。
如果 MySQL服务器正在运行,停止它。对于作为 Windows服务运行的服务器,进入服务管理器:
开始菜单->控制面板->管理工具->服务
然后在列表中找出 MySQL服务器,并停止它。
如果服务器不是作为服务而运行的,可能需要使用任务管理器来强制停止它。
创建 1个文本文件,并将下述命令置于单一行中:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
用任意名称保存该文件。在本例中,该文件为 C:/mysql-init.txt。
打开控制台窗口,进入 DOS命令提示:
开始菜单->运行-> cmd
假定你已将 MySQL安装到 C:/mysql。如果你将 MySQL安装到了另一位置,请对下述命令进行相应的调整。
在 DOS命令提示符下,执行命令:
C:/> C:/mysql/bin/mysqld-nt --init-file=C:/mysql-init.txt
在服务器启动时,执行由“ --init-file”选项命名的文件的内容,更改根用户密码。当服务器成功启动后,应删除 C:/mysql-init.txt。
如果你使用 MySQL安装向导安装了 MySQL,或许需要指定“ --defaults-file”选项:
C:/> C:/Program Files/MySQL/MySQL Server 5.1/bin/mysqld-nt.exe
         --defaults-file="C:/Program Files/MySQL/MySQL Server 5.1/my.ini"
         --init-file=C:/mysql-init.txt
使用服务管理器,可找到恰当的“ --defaults-file”设置:
开始菜单->控制面板->管理工具->服务
在列表中找出 MySQL服务,右击,并选择“属性”选项。在可执行字段的 Path(路径)中包含“--defaults-file”设置。
停止 MySQL服务器,然后在正常模式下重启它。如果以服务方式运行服务器,应从 Windows服务窗口启动它。如果以手动方式启动了服务器,能够像正常情形下一样使用命令。
应能使用新密码进行连接。
在 Unix环境下,重置根用户密码的步骤如下:
以 Unix根用户身份、或以运行 mysqld服务器的相同身份登录到系统。
找到包含服务器进程 ID的 .pid文件。该文件的准确位置和名称取决于你的分发版、主机名和配置。常见位置是/var/lib/mysql/、 /var/run/mysqld/和 /usr/local/mysql/data/。一般情况下,文件名的扩展名为 .pid,并以mysqld或系统的主机名开始。
在下述命令中使用 .pid文件的路径名,向 mysqld进程发出正常的 kill(而不是 kill -9),可停止 MySQL服务器:
shell> kill `cat /mysql-data-directory/host_name.pid`
注意, cat命令使用符号“ `”而不是“’”:这会使 cat的输出代入到 kill命令中。
创建文本文件,并将下述命令放在文件内的 1行上:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
用任意名称保存文件。对于本例,文件为 ~/mysql-init。
用特殊的“ --init-file=~/mysql-init”选项重启 MySQL服务器:
shell> mysqld_safe --init-file=~/mysql-init &
文件 init-file的内容在服务器启动时执行,更改根用户密码。服务器成功启动后,应删除 ~/mysql-init。
应能使用新密码进行连接。
作为可选方式,在任何平台上,可使用 mysql客户端设置新密码(但该方法不够安全):
停止 mysqld,并用“ --skip-grant-tables --user=root”选项重启它( Windows用户可省略 --user=root部分)。
使用下述命令连接到 mysqld服务器:
shell> mysql -u root
mysql客户端发出下述语句:
mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd')
    ->                   WHERE User='root';
mysql> FLUSH PRIVILEGES;
用打算使用的实际根用户密码替换“ newpwd”。
应能使用新密码进行连接。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值