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