linux环境下,忘记MySQL密码,或不知道密码时,我们需要以安全方式启动MySQL,并重置密码。
按如下方式,启动mysql服务
service mysqld start
此时会报错, unrecognized service…..
跟着service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误
查看问题出在哪里。
>>> rpm -q mysql
#输出 mysql-5.1.73-8.el6_8.x86_64
说明mysql安装成功
>>> /etc/rc.d/init.d/mysqld start
此时,发现我的 init.d 文件夹中并没有 mysqld 这个文件。
经过一番折腾后,发现当初安装时未安装 mysql-server。
于是重新安装(不用卸载)
yum install mysql-server
同时会自动安装一些依赖包文件。安装完成后就能看到 mysqld 这个文件了。
重新启动 mysql 服务,发现启动成功。
输入命令
find / -name mysqld_safe
可以看到 mysqld_safe 的安装位置: /usr/bin/mysqld_safe
停止 mysql 服务
service mysqld stop
以安全方式启动 mysql :
/usr/bin/mysqld_safe –skip-grant-tables >/dev/null 2>&1 &
/usr/bin/mysql -u root mysql
注意: mysql 与 mysqld_safe 的目录是一样的,即 /usr/bin/ 下
然后便进入了 mysql 命令行界面,这里对用户重设密码:
mysql> use mysql;
mysql> update user set password = Password('12345678') where user = 'root';
mysql> flush privileges;
mysql> exit
设置好密码后,重新启动 mysql 服务
service mysqld start
mysql -u root -p
然后用新密码登陆就OK啦~