linux下忘记mysql密码的解决方法——使用SSH登录服务器修改数据库密码

编辑:谯胜平      分类:数据库      标签:mysql      发布时间:2021-03-07      浏览次数:67

在linux系统下,mysql新建用户,删除用户,修改密码等操作之后重新登录时可能会导致#1045 Access denied for user 'root'@'localhost' (using password: YES)的错误,可以通过SSH登录服务器,使用命令行形式修改密码进行解决。

1、使用SSH远程登录服务器:


2、编辑MySQL配置文件my.cnf,关闭MySQL密码登录验证:

vi /etc/my.cnf

按下键盘“i”键在“[mysqld]”处插入下列语句:

skip-grant-tables

按下“esc”键并输入":wq!"保存退出。

重启MySQL服务:

service mysqld restart


3、登录MySQL:

mysql -uroot -p


4、修改root账号密码(123456是新密码):

update mysql.user set password=password('123456') where User="root" and Host="localhost";

刷新系统授权表:

flush privileges;  

授予所有权限:

grant all on *.* to 'root'@'localhost' identified by '123456' with grant option;


5、将修改过后的MySQL配置文件my.cnf还原:

vi /etc/my.cnf

按下键盘“i”键将“[mysqld]”下列的语句删除:

skip-grant-tables

按下“esc”键并输入":wq!"保存退出。

重启MySQL服务:

service mysqld restart


6、此时可以使用下列命令正常访问数据库了:

mysql -uroot -p123456


看不清?换一个