Linux下修改Mysql密码的多种方式

本文介绍两种场景下MySQL Root密码的重置方法:已知原密码时如何更改及遗忘密码时如何重置,并针对不同MySQL版本提供具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文都以 root 用户为例

一、拥有原来的myql的root的密码

方法一:
在mysql系统外,使用mysqladmin

mysqladmin -u root -p password "test123"
Enter password: 【输入原来的密码】

方法二:
通过登录mysql系统

 mysql -uroot -p
 Enter password: 【输入原来的密码】
 mysql>use mysql;
 mysql> update user set password=passworD("test") where user='root';
 mysql> exit;    

注意:如果Mysql的版本是5.7及以上的话update语句如下:
 mysql> update user set authentication_string=passworD("test") where user='root';

然后执行:

FLUSH PRIVILEGES;

注意:如果Mysql的版本是8.0及以上修改密码语句如下:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
FLUSH PRIVILEGES;

修改完密码记得重启mysql哦。

二、忘记原来的myql的root的密码

方法三:

首先拿到操作系统的root权限,然后kill掉Mysql服务或者手动stop掉,这里我推荐使用手动stop;

 #service mysql stop

然后执行

 # mysqld_safe --skip-grant-tables &

&,表示在后台运行,不再后台运行的话,就再打开一个终端吧。
接着登陆MySQL修改密码

 # mysql
 mysql> use mysql;
 mysql> UPDATE user SET password=password("test123") WHERE user='root';   
 mysql> exit;   

注意:如果Mysql的版本是5.7及以上的话update语句如下:

 mysql> update user set authentication_string=passworD("test") where user='root';

然后执行:

FLUSH PRIVILEGES;

修改完密码记得重启mysql哦。

如果是新安装的 Mysql 或 MariaDB,默认是没有密码的。如果想要设置 Root 密码,也可以参考情景一来设置。
如果出现 Enter password: 字符,直接回车即可,因为默认是没有密码的。


技 术 无 他, 唯 有 熟 尔。
知 其 然, 也 知 其 所 以 然。
踏 实 一 些, 不 要 着 急, 你 想 要 的 岁 月 都 会 给 你。


### 修改 MySQL 密码的方法 对于希望了解如何在 Linux 系统上更改 MySQL 的 `root` 用户密码的情况,在命令行界面下可以通过多种方式实现这一目标。 #### 方法一:通过 SQL 命令修改密码 当已经知道当前的 `root` 用户密码时,可以登录到 MySQL 数据库并执行更新语句来改变密码: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword'; FLUSH PRIVILEGES; ``` 如果忘记了现有的 `root` 用户密码,则需要先停止 MySQL 服务,并以跳过权限表的方式启动它以便能够无密访问数据库。之后再重置密码[^1]。 #### 方法二:利用 mysqladmin 工具 另一种更简便的方式来设置新密码是使用官方提供的工具——`mysqladmin`: ```bash sudo mysqladmin -u root password newpassword ``` 此方法同样适用于忘记密码的情形;只需加上 `-p` 参数提示输入现有密码即可继续操作。 #### 安全加固建议 完成上述任一步骤后,强烈推荐运行 `mysql_secure_installation` 脚本来进一步增强服务器的安全性配置。这不仅有助于移除不安全的默认设置,还可以帮助设定更强力的身份验证机制[^2]: ```bash sudo mysql_secure_installation ``` 需要注意的是,在某些发行版如 Ubuntu 上,默认情况下可能并不鼓励直接为 `root` 设置传统意义上的明文密码认证模式,因为系统依赖于其他形式的身份验证手段(比如 Unix socket 或 PAM)。因此在这种环境下尝试变更 `root` 认证方式可能会带来潜在风险[^4]。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值