妖业蛋论坛

evoleo 发表于 2007-4-6 05:34

CentOs环境下mysql密码丢失的找回办法

最近两天被mysql  root用户名密码丢失的问题困扰。
网上搜索也没有找到好的解决办法,正好VNC远程又无法登录。。。只有一个ssh。。。

不过功夫不负有心人,最终我还是找到了办法:
[code]杀掉进程
# killall -TERM mysqld


安全模式启动(登录后不用密码)

# /usr/bin/mysqld_safe --skip-grant-tables &
(这一步浪费了我很长时间,因为早期版本这个模块不是mysqld_safe而是safe_mysqld,所以用网上其他人的经验一直说找不到文件)


用root用户名登录mysql

msql> mysql -u root

如果安全模式进来了,显示的应该是和第一次无密码登录mysql一样
更新密码(这是set设置密码已经不让用了)
mysql> update mysql.user set password=password("新密码") where user="root";

刷新权限
mysql>flush privileges;

退出
mysql>exit;



重新登录以后看看吧,
# /rc.d/init.d/mysqld start
# mysql -u root -p

需要注意的是更新之前,可以看看密码是不是改变了
mysql>select user,host,password from mysql.user;

/etc/rc.d/init.d/mysqld start

正常登录
mysql -u root

最后建议大家设置一个admin的超级管理员

mysql> grant all privilages on *.* to admin@localhost identified by '密码' with grant option;
mysql> grant all privilages on *.* to admin@"%" identified by '密码' with grant option;[/code]

特此存档。

页: [1]
飞鸟与摄影,张扬我个性!

Powered by Discuz! Archiver 7.0.0  © 2006-2009 Yaoyedan.com