本文另外刊登于我的部落格: Hankz Blog
此文章记录在Linux上 MySQL重製密码及修改密码方式
一、 重置密码
使用指令找到MySQL读取的my.cnf档案路径:
mysql --help | grep 'Default options' -A 1
编辑my.cnf
vim [档案路径]
在[mysqld]标籤底下加入 skip-grant-tables
(注1)
使用指令重启资料库
service mysql restart
登入MySQL(直接输入Enter不需要打密码),并使用以下指令(注2)
use mysql;update user set authentication_string = '' where user = 'root';FLUSH PRIVILEGES;EXIT
重新编辑my.cnf,并将刚刚加入的skip-grant-tables
移除
再次重启资料库
即可使用空字串作为密码进行登入
二、 修改密码
修改密码相当简单,使用有权限的帐号登入MySQL后,使用以下指令:
use mysql;SELECT * FROM user WHERE user LIKE 'root%' \G;ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY 'newPassword';FLUSH PRIVILEGES;EXIT
环境:
Ubuntu 16.04.6 LTS
MySQL 5.7.33