前要: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.****.net/mouday/article/details/100854789