MySQL 忘記密碼,該怎麼辦?

MySQL 忘記密碼,該怎麼辦?

MySQL 忘記密碼,該怎麼辦?


資料來源:https://mp.weixin.qq.com/s?__biz=MzU3NzczMTAzMg==&mid=2247484899&idx=2&sn=d472187efc9564e578e19c241ca72cf5&chksm=fd016554ca76ec42d4b12cc153ea28a3f3b78c4a903831d9adc80ea97ae69a20abb9f0ebe0c6&scene=0&xtrack=1&key=d7c04bb266a3c48c0e64c460f7d640f2908a2b91da27c0ec8b5cc2585df3c7aab2e2627642e467d17cc6826053bca67384998d82ea934e433f2971b745918512454703dfa6202713c0e772a1045f2b7b&ascene=1&uin=MjIwODk2NDgxNw%3D%3D&devicetype=Windows+10&version=62060833&lang=zh_TW&pass_ticket=1AMJ6z41rnWl0xV806qMh%2BsjvZ9MJckpAWxn%2B1d9Yh%2BOyq0IxmMnjMHdmWYT8GHN


▲MySQL5.7

skip-grant-tables模式啟動

#修改/etc/my.cnf文件

vim /etc/my.cnf


#在[mysqld]区域添加配置,并保存my.cnf文件

skip-grant-tables


#重启mysql

systemctl restart mysqld


#登录mysql

mysql -u root -p


#如果出现输入密码,直接回车,就可以进入数据库了

修改root密碼

#登录mysql,此时还没有进入数据库,使用如下命令

use mysql;


#修改root密码(mysql5.7版本)

update user set authentication_string = password('密码'), password_expired = 'N',password_last_changed = now() where user = 'root';


#如果你的mysql是5.6版本修改root密码(mysql5.6版本)

update user set password=password('密码') where user='root';


#使其生效

flush privileges;


#退出

exit;

重啟服務器

#修改/etc/my.cnf文件

vim /etc/my.cnf


#在[mysqld]区域删除改配置,并保存my.cnf文件

#skip-grant-tables


#重启mysql

systemctl restart mysqld


#此时,修改完毕

▲MySQL8

#在skip-grant-tables模式下,将root密码置空

update user set authentication_string =  '' where user = 'root';


#退出,将/etc/my.cnf文件下的skip-grant-tables去掉,重启服务器

#登录mysql

mysql -u root -p


#因为密码置空,直接回车,进入数据库之后,修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Hello@123456';


#因为mysql8,使用强校验,所以,如果密码过于简单,会报错,密码尽量搞复杂些!

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *