本人在CentOS 6.4上安装MysqL后,无法通过root进入,因为安装的时候,并没有设置root密码,似乎有个初始随机密码,但是不记得了,太麻烦,直接重置root密码。
使用rpm包安装完MysqL后,按照一下步骤重置root密码:
启动MysqL:
#/etc/init.d/MysqL start
启动成功后查看MysqL进程信息,获取MysqLd_safe的安装目录(非常关键):
-- 512.笔记 jb51.cc
#ps -ef | grep -i MysqL
root 3466 1 0 01:45 pts/1 00:00:00 /bin/sh
/usr/bin/MysqLd_safe
--datadir=/var/lib/MysqL
--pid-file=/var/lib/MysqL/BSC.TEST.pid
MysqL 3569 3466 16 01:45 pts/1 00:00:00 /usr/sbin/MysqLd --basedir=/usr --datadir=/var/lib/MysqL --plugin-dir=/usr/lib64/MysqL/plugin --user=MysqL --log-error=/var/lib/MysqL/BSC.TEST.err --pid-file=/var/lib/MysqL/BSC.TEST.pid
root 3597 3105 0 01:45 pts/1 00:00:00 grep -i MysqL
可以看到MysqLd_safe的安装位置(上面标蓝色部分):/usr/bin/
接着执行一下命令停止MysqL:
/etc/init.d/MysqL stop
以安全方式启动MysqL:
#/usr/bin/MysqLd_safe --skip-grant-tables >/dev/null 2>&1 &
稍等5秒钟,然后执行以下语句:
#/usr/bin/MysqL -u root MysqL
注意:MysqL与MysqL_safe目录一样,都是:/usr/bin/下,这个是通过“ps -ef | grep -i MysqL”命令得到的。
MysqL> update user set password = Password('root') where User = 'root';
MysqL> flush privileges;
再执行exit退出:
MysqL> exit;
#MysqL -u root -p
按提示输入密码:root
原文链接:https://www.f2er.com/mysql/530221.html