1、修改my.ini
# 查看my.ini位置 $ mysqld --help --verbose | more # 找到这一行,挨个试试,看存不存在 # /etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf $ ls /etc/my.cnf ls: /etc/my.cnf: No such file or directory $ ls /etc/mysql/my.cnf ls: /etc/mysql/my.cnf: No such file or directory $ 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 skip-grant-tables # 添加这一行
2、修改密码
# 重启MySQL $ mysql.server restart # 进入,遇到密码直接回车 $ mysql -u root -p # 修改前确认版本号,如果是其他版本可能会有差别 mysql> select version(); 8.0.16 mysql> flush privileges; --刷新 mysql> use mysql; mysql> alter user'root'@'localhost' IDENTIFIED BY 'aBc@123456'; # 注意: mysql8.0以上密码策略限制必须要大小写加数字特殊符号
3、复原my.ini
将第一步中my.ini加入的skip-grant-tables删除或注释
4、重启MySQL登录测试
$ mysql.server restart # 此时在登录就需要密码了 $ mysql -u root -p
参考