技术文摘
Linux 下 MySQL 密码修改方法
2025-01-15 00:03:08 小编
Linux 下 MySQL 密码修改方法
在 Linux 环境中,出于安全或其他需求,我们常常需要修改 MySQL 的密码。下面将详细介绍几种常见的修改密码方法。
使用 mysqladmin 命令修改密码
mysqladmin 是 MySQL 提供的一个用于管理 MySQL 服务器的客户端工具。如果你的 MySQL 服务正在运行,并且你知道当前的登录密码,使用该命令修改密码十分便捷。 打开终端,输入以下命令:
mysqladmin -u root -p password 'newpassword'
这里的-u表示用户名,root是 MySQL 的管理员用户名;-p表示需要输入当前密码,在执行命令后,系统会提示你输入当前密码;newpassword就是你要设置的新密码,将其替换为你实际的新密码即可。
在 MySQL 客户端中修改密码
如果你已经登录到 MySQL 客户端,也可以通过 SQL 语句来修改密码。先登录 MySQL,在终端输入:
mysql -u root -p
输入当前密码登录成功后,执行以下两种不同版本适用的语句: 对于 MySQL 5.7 及之前版本,可以使用:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpassword');
对于 MySQL 8.0 及以上版本,使用的语句有所不同:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
同样,记得将newpassword替换为你要设置的新密码。这里的'root'@'localhost'表示用户名和主机地址,如果你是通过其他主机连接或者使用了不同用户名,需要相应修改。
忘记密码时的密码重置
如果忘记了 MySQL 密码,需要先停止 MySQL 服务,然后以跳过权限验证的方式启动 MySQL。不同的 Linux 发行版,停止和启动服务的命令可能不同,以常见的 CentOS 为例:
systemctl stop mysqld
mysqld_safe --skip-grant-tables &
接着重新打开一个终端,登录 MySQL:
mysql -u root
登录后,更新密码:
UPDATE mysql.user SET authentication_string = PASSWORD('newpassword') WHERE User = 'root' AND Host = 'localhost';
完成后,刷新权限:
FLUSH PRIVILEGES;
最后,正常重启 MySQL 服务:
systemctl restart mysqld
掌握这些在 Linux 下修改 MySQL 密码的方法,无论是日常维护还是遇到特殊情况,都能轻松应对,保障数据库的安全和正常运行。