linux下mysql忘记密码解决方案

1. 检查mysql服务是否启动,如果启动,关闭mysql服务

运行命令:ps -ef | grep -i mysql

1 systemctl  restart  mysqld   // mysql进行服务重启
2 service mysqld stop  // 服务停止
3 service mysqld start  // 服务开启
4 systemctl status mysqld  // 服务状态

 2.修改mysql的配置文件my.conf

一般在/etc目录下,运行命令:vi /etc/my.cnf,编辑文件  (注意:有可能有的配置文件不在这个路径,因人而异)

 在文件的[mysqld]标签下添加一句:skip-grant-tables

然后wq!保存退出。

 3.启动数据库

1  运行命令:service mysqld start

 4.进入到mysql数据库

1  运行命令:mysql -u root 

 5.修改密码

1 运行语句:use mysql;
2 继续运行语句:update mysql.user set authentication_string=password('root_password') where user='root';    
root_password替换成你想要的密码
 

6.把步骤2加的东西删除掉,在重启服务器,就可以使用刚才修改的密码登录进服务器了。

修改密码的方法:在这里进行修改登录密码即可

 1 方法1: 用SET PASSWORD命令
 2 首先登录MySQL。
 3 格式:mysql> set password for 用户名@localhost = password('新密码');
 4 例子:mysql> set password for root@localhost = password('123');
 5  
 6 方法2:用mysqladmin
 7 格式:mysqladmin -u用户名 -p旧密码 password 新密码
 8 例子:mysqladmin -uroot -p123456 password 123
 9  
10 方法3:用UPDATE直接编辑user表
11 首先登录MySQL。
12 mysql> use mysql;
13 mysql> update user set authentication_string=password('123') where user='root' and host='localhost';
14 mysql> flush privileges;
15  
16 方法4:在忘记root密码的时候,可以这样
17 以windows为例:
18 1. 关闭正在运行的MySQL服务。
19 2. 打开DOS窗口,转到mysqlin目录。
20 3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
21 4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysqlin目录。
22 5. 输入mysql回车,如果成功,将出现MySQL提示符 >23 6. 连接权限数据库: use mysql; 。
24 6. 改密码:update user set password=password("123") where user="root";(别忘了最后加分号) 。
25 7. 刷新权限(必须步骤):flush privileges; 。
26 8. 退出 quit。
27 9. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。

原文地址:https://www.cnblogs.com/mmdz/p/14737379.html