这对我有用:
https://blog.dotkam.com/2007/04/10/mysql-reset-lost-root-password/
第 1 步:如果 MySQL 守护程序当前正在运行,则停止它
ps -ef | grep mysql - checks if mysql/mysqld is one of the running processes.
pkill mysqld - kills the daemon, if it is running.
第 2 步:运行 MySQL 安全守护程序并跳过授权表
mysqld_safe --skip-grant-tables &
mysql -u root mysql
第 3 步:以 root 身份登录 MySQL,无需密码
mysql -u root mysql
第 4 步:运行 UPDATE 查询以重置 root 密码
UPDATE user SET password=PASSWORD("value=42") WHERE user="root";
FLUSH PRIVILEGES;
在 MySQL 5.7 中,'password' 字段已被删除,现在字段名称为 'authentication_string':
UPDATE user SET authentication_string=PASSWORD("42") WHERE
user="root";
FLUSH PRIVILEGES;
第 5 步:停止 MySQL 安全守护程序
第 6 步:启动 MySQL 守护进程