服务器mysql忘记密码
前言
域名过期了,在更换域名的时候因为某些原因需要删除服务器数据库中的某一个库,但突然一下子想不起来密码了,果然账号密码太多,在不经常用的情况下真的很容易忘记啊。在网上找到了重置密码的办法,尝试了一下,成功修改了,在这里记录一下吧。
解决办法
原理
- 在配置项里加入
skip-grant-tables
,使无需输入用户密码也可以进入mysql
- 然后对数据库里的
mysql
数据库进行修改密码。 - 删除配置项里的
skip-grant-tables
,重启mysql
。
具体步骤
修改/etc/my.cnf文件:
x1在[mysqld]的下一行加入:
2
3skip-grant-tables
4
5保存退出。
重启mysql
11# service mysql restart(或者mysqld)
登陆mysql,直接输入mysql就可以进去。
是不是很神奇,不要密码就登陆了,因为你之前修改了配置文件呐亲。
修改密码,mysql中的user是系统专门管理用户的表,注意下面的password是一个函数,用来对后面的new-password加密的
41mysql> USE mysql ;
2mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
3mysql> flush privileges ;
4mysql> quit
- 把步骤1中改的配置文件,修改回去。
- 重启mysql,同步骤2。
进入mysql
11# mysql -uroot -p