“Linux下忘记mysql的root用户密码解决方法 忘记mysql密码 mysql修改密码方法”的版本间的差异

来自linux中国网wiki
跳到导航 跳到搜索
(导入1个版本)
第17行: 第17行:
 
#切换到mysql database good
 
#切换到mysql database good
 
mysql> use mysql;
 
mysql> use mysql;
#将mysql root密码该为123456了
+
#将mysql root密码该为123456#了
UPDATE user SET password=password('123456') WHERE user='root';
+
 
 +
#mysql5.7
 +
 
 +
update mysql.user set authentication_string=PASSWORD('123456#') where user='root';
 +
flush privileges;
 +
特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了
 +
 
 +
 
 +
#这个是mysql5.6之前
 +
UPDATE user SET password=password('123456#') WHERE user='root';
 
FLUSH PRIVILEGES;
 
FLUSH PRIVILEGES;
  

2019年11月14日 (四) 01:57的版本

原因

不小心 把自己在公司的测试机上的mysql root 密码给忘记了,网上有很多方法,但这个是我试过的 包成功哦

解决过程

首先 要把mysqld 进程停止 kill or killall 你自己选择
接着

用--skip-grant-tables参数启动mysqld

# 其中/usr/local/mysql/bin是我的mysql安装目录
[root@localhost /]#/usr/local/mysql/bin/mysqld_safe --skip-grant-tables&

#不用密码进入mysql
[root@localhost /]/usr/local/mysql/bin/mysql

#切换到mysql database good
mysql> use mysql;
#将mysql root密码该为123456#了

#mysql5.7 

update mysql.user set authentication_string=PASSWORD('123456#') where user='root';
flush privileges;
特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了


#这个是mysql5.6之前
UPDATE user SET password=password('123456#') WHERE user='root';
FLUSH PRIVILEGES;

killall mysqld

#登录正常
mysql -uroot -p

参考

linux下忘记mysql的root用户密码解决方法–忘记mysql密码