前要:MySQL8后密碼要求很高,要有大小寫字母和數字特殊字符,導致自己忘記以前配置的密碼
一、跳過mysql的密碼認證,修改配置文件my.cnf
$ ls /usr/local/etc/my.cnf
/usr/local/etc/my.cnf
# 修改配置文件, 添加 skip-grant-tables
$ cat /usr/local/etc/my.cnf
# Default Homebrew MySQL server config
[mysqld]
# Only allow connections from localhost
bind-address = 127.0.0.1
&vim /usr/local/etc/my.cnf
注意:上命令進入vim打開文件模式,i進行操作在末尾:
skip-grant-tables # 添加這一行
添加后,esc+:wq退出
二、修改密碼
# 重啟MySQL
$ mysql.server restart
# 進入,遇到密碼直接回車
$ mysql -u root -p
# 修改前確認版本號,如果是其他版本可能會有差別
mysql> select version();
8.0.18
mysql> flush privileges; --刷新
mysql> use mysql;
mysql> alter user'root'@'localhost' IDENTIFIED BY 'aBc@123456';
# 注意: mysql8.0以上密碼策略限制必須要大小寫加數字特殊符號
三、恢復my.cnf
按第一步中添加的skip-grant-tables刪除或注釋
四、重啟mysql登陸測試
$ mysql.server restart
# 此時在登錄就需要密碼了
$ mysql -u root -p
參考:https://blog.csdn.net/mouday/article/details/100854789