首页 帮助中心 香港云服务器 Linux重置mysql root密码的常用方法
Linux重置mysql root密码的常用方法
时间 : 2025-02-20 10:46:46 编辑 : 华纳云 阅读量 : 180

在Linux系统中重置MySQL的root密码可以通过以下步骤完成。请根据你的MySQL版本(如5.7或8.0)选择对应的操作:

需要先停止MySQL服务

sudo systemctl stop mysql   # 或 mysqld、mariadb(根据实际服务名调整)

以跳过权限检查的方式启动MySQL

方法一(推荐):使用--skip-grant-tables选项启动

sudo mysqld_safe --skip-grant-tables --skip-networking&--skip-networking

 防止远程连接,增强安全性。

方法二:修改配置文件(适合需要持久化配置的情况)

编辑MySQL配置文件:

sudo nano /etc/my.cnf   # 或 /etc/mysql/my.cnf、/etc/mysql/mysql.conf.d/mysqld.cnf

在 [mysqld] 部分添加:

ini
skip-grant-tables
skip-networking

保存后重启服务:

sudo systemctl restart mysql

连接到MySQL服务器

无需密码即可登录:

mysql -u root

重置root密码

MySQL 5.7及以下版本

刷新权限

FLUSH PRIVILEGES;

更新密码(替换 'new_password')

UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHERE User = 'root';

退出EXIT;

MySQL 8.0及以上版本

sql

刷新权限

FLUSH PRIVILEGES;

重置密码(替换 'new_password')

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

退出EXIT;

恢复MySQL正常模式

关闭跳过权限的实例:

sudo systemctl stop mysql

移除配置修改(如果用了方法二):

删除 my.cnf 中添加的 skip-grant-tables 和 skip-networking。

重启服务:

sudo systemctl start mysql

验证新密码

mysql -u root -p

输入新密码确认登录成功。

常见问题解决

出现权限错误,确保数据目录(如 /var/lib/mysql)的所有权属于 mysql 用户:

sudo chown -R mysql:mysql /var/lib/mysql

无法ALTER USER(MySQL 8.0):如果在跳过权限模式下无法执行ALTER USER,尝试:

sql

FLUSH PRIVILEGES;ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';

通过以上步骤,你应能成功重置MySQL的root密码。如果问题仍然存在,请检查日志文件(/var/log/mysql/error.log)以获取详细错误信息。

华纳云 推荐文章
如何安全地删除一个MySQL数据库 怎么使用phpmyadmin创建mysql数据库用户? 香港服务器MySQL创建表格时要注意哪些 MySQL数据备份和恢复操作指南 忘记了RHEL系统中的root密码如何重置密码 Linux中查找MySQL、PHP和Apache配置文件的方法 Innotop是Linux MySQL性能监控佳选 SQL Server和MySQL相比哪个更适合新手使用 避免MySQL磁盘队列调整不当的方法 MySQL兼容性问题常见有哪些及解决办法
活动
客服咨询
7*24小时技术支持
技术支持
渠道支持