序言:
以前学习mysql的时候,有时候忘记root密码问题,在网上有很多信息,但是都不是很完整,这里我通过无数次实验,共享一下重置root密码完整的方法。
windows平台:
第1步 : 开始菜单 -> 控制面板 -> 管理工具 -> 服务 中找到mysql服务器,并停止它,如果服务器不是作为服务运行的,可能需要使用任务管理器来强制停止它。
第2步 :创建一个文本文件mysql-ini.txt,并在文本文件中输入SET PASSWORD FOR ‘root‘@‘localhost‘ = PASSWORD(‘newpassword‘);
保存mysql-ini.txt 文件到任意路径下,为了方便起见。在本例中,改保存路径为 C:/mysql-ini.txt
第3步 :打开控制台窗口,进入DOS提示:
开始菜单 -> 运行 -> cmd
假定你已将mysql服务安装在C:/mysql路径, 在DOS命令提示下,执行命令:
C:\> C:/mysql/bin/mysqld -n --init-file=C:/mysql-ini.txt
第4步 : 重启mysql服务(这个时候mysql执行mysql-ini.txt中的内容,更改根用户密码)
第5步 : 按理论说,mysql的密码重置已经成功,你可以使用新密码进行登录mysql服务,最后登录成功后,不要忘了删除垃圾文件mysql-ini.txt
(密码设置可能不成功,按照上述操作多试几次)
Unix平台:
第1步:以Unix根用户身份或以运行mysqld服务器的相同身份登录到系统。
第2步:找到包含服务器进程ID的.pid文件。改文件的准确位置和名称取决于你的分发版、主机名和配置。常见位置是/var/lib/mysql/、 /var/run/mysqld/
和/user/local/data/.一般情况下,文件名的扩展名为.pid,并以msyqld或系统的主机名开始
第3步:在下述命令中使用.pid文件的路径名,想mysqld进程发成正常的kill,可停止msyql服务器:
shell> kill ‘cat /mysql -data-directory/host_name.pid‘
注意:cat命令使用符合“ ‘ ”而不是“ “ ”,这会使cat的输入带入到kill命令中。
第4步: 创建文本文件,并将下述命令放在文件内
SET PASSWORD FOR ’root‘@’localhost‘ = PASSWORD(‘youpassword‘);
用任意名称保存文件,本例中文件为 ~/mysql-ini
第5步: 用特殊的’--init-file = ~/mysql-ini‘选项重启mysql服务器:
shell> msyqld_safe --init-file=~/mysql-ini &
重启mysql服务(这个时候mysql执行mysql-ini.txt中的内容,更改根用户密码)
第6步 : 按理论说,mysql的密码重置已经成功,你可以使用新密码进行登录mysql服务,最后登录成功后,不要忘了删除垃圾文件mysql-ini.txt
(密码设置可能不成功,按照上述操作多试几次)