使用 --skip-grant-tables
启动 MySQL 并重置密码
- 停止 MySQL 服务:
sudo systemctl stop mysql
- 以安全模式启动 MySQL(跳过权限检查):
sudo /usr/local/mysql/bin/mysqld --skip-grant-tables --user=mysql &
- 打开一个新的终端窗口或标签页,登录 MySQL:
/usr/local/mysql/bin/mysql -u root
- 更改 root 密码:
USE mysql;
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
FLUSH PRIVILEGES;
将 new_password
替换为您希望设置的新密码。
- 停止 MySQL 安全模式运行:
找到 mysqld --skip-grant-tables
进程并杀掉它,或者直接在启动 mysqld
的终端窗口中按 Ctrl+C
关闭进程。
- 重新启动 MySQL 服务:
sudo systemctl start mysql
- 验证新密码:
/usr/local/mysql/bin/mysql -u root -p
输入新密码,确认可以正常登录。