mysql忘记root密码怎么办-mysql教程
忘记 MySQL root 密码怎么办?
恢复密码的方法:
方法 1:使用 mysqld_safe 选项
- 停止 MySQL 服务:sudo systemctl stop mysql
- 启动 MySQL 服务,同时设定 skip-grant-tables 选项:sudo mysqld_safe --skip-grant-tables &
- 连接到 MySQL 服务器:mysql -u root
- 重置 root 密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
- 刷新权限表:FLUSH PRIVILEGES;
- 退出 MySQL:exit
- 重启 MySQL 服务:sudo systemctl restart mysql
方法 2:使用重置文件
- 停止 MySQL 服务:sudo systemctl stop mysql
- 找到并编辑 MySQL 配置文件(通常位于 /etc/mysql/mysql.cnf):
-
在 [mysqld] 段落中,添加以下行:
init-file=/var/lib/mysql/init_root_password.sql
登录后复制 - 保存配置并退出文本编辑器。
- 在 /var/lib/mysql/ 目录中创建一个名为 init_root_password.sql 的文件。
-
在 init_root_password.sql 文件中,输入以下内容:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
登录后复制 - 保存 init_root_password.sql 文件。
- 启动 MySQL 服务:sudo systemctl start mysql
方法 3:使用低级修复工具
- 停止 MySQL 服务:sudo systemctl stop mysql
- 以 root 用户启动 MySQL:sudo mysqld --user=root --console
-
在 MySQL 控制台中输入以下命令:
mysql> UPDATE mysql.user SET Password=PASSWORD('新密码') WHERE User='root'; mysql> FLUSH PRIVILEGES; mysql> quit
登录后复制 - 退出 MySQL 控制台。
- 重启 MySQL 服务:sudo systemctl start mysql