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]
