第一步:彻底禁止 MySQL 开机自启(解决根源)
bash
brew services stop mysql@8.0
brew services stop mysql
launchctl disable gui/$(id -u)/com.homebrew.mysql@8.0
第二步:强制杀死 + 删除锁文件
bash
sudo pkill -9 mysqld
sudo rm -rf /usr/local/var/mysql/*.lock
sudo rm -rf /usr/local/var/mysql/ibdata1.lock
第三步:用绝对正确的安全模式启动
bash
/usr/local/opt/mysql@8.0/bin/mysqld \
--skip-grant-tables \
--skip-networking \
--datadir=/usr/local/var/mysql
第四步:新开终端,无密码登录
bash
mysql -u root
第五步:强制清空密码 + 重新设置
bash
FLUSH PRIVILEGES;
CREATE USER IF NOT EXISTS 'root'@'localhost';
UPDATE mysql.user SET authentication_string = '' WHERE user = 'root';
SET GLOBAL validate_password.policy = 0;
SET GLOBAL validate_password.length = 4;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
EXIT;
第六步:关闭日志窗口并正常启动MySQL
bash
brew services start mysql@8.0
第七步:测试登录(成功)
bash
mysql -u root -p
输入第五步中改好的密码123456,并回车登录成功!