Mysql修改root用户密码

本文介绍如何使用SQL命令设置MySQL中远程访问的root账号及其密码,并确保更改立即生效。

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



mysql> USE mysql;



SELECT * FROM USER  WHERE USER='root' AND HOST='%';  ----这个是远程访问账号


UPDATE USER SET PASSWORD=PASSWORD('123456') WHERE USER='root' AND HOST='%';



FLUSH PRIVILEGES;













### MySQL 修改 Root 用户密码 #### 方法一:直接通过 SQL 语句修改 1. **登录 MySQL** 先以当前已知的方式(例如旧密码或者其他有权限的用户)登录到 MySQL 数据库。如果还没有设置过密码,则可以直接用空字符串作为密码: ```bash mysql -u root -p ``` 2. **选择 MySQL 数据库** 登录成功后,切换至 `mysql` 这个系统数据库,因为我们需要在这个库里操作用户表。 ```sql USE mysql; ``` 3. **更新 root 用户信息** 根据版本的不同可以选择两种方式之一来重置密码。 * 对于 MySQL 5.7 及以后版本: 更新 user 表中的 authentication_string 字段为新的加密后的密码值,并刷新权限。 ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '新密码'; FLUSH PRIVILEGES; EXIT; ``` * 对于更早版本的 MySQL 或者希望兼容性更好的情况: 直接更新 password (对于较老版本) 或 authentication_string (针对最新版) ```sql UPDATE user SET authentication_string=PASSWORD('新密码') WHERE User='root' AND Host='localhost'; FLUSH PRIVILEGES; EXIT; ``` 4. **重启 MySQL 服务** 最后别忘了重启 MySQL 以便加载最新的配置变更。(某些情况下不需要这一步骤也可以生效) ```bash sudo systemctl restart mysql.service ``` #### 方法二:忘记密码时恢复 当你完全记不住任何管理员账户的信息时,可以通过跳过授权表的方式来强制进入并重设密码: 1. **停止 MySQL 服务** 关闭正在运行的服务实例 ```bash sudo systemctl stop mysql.service ``` 2. **无密模式启动 MySQL** 使用特殊选项让 mysqld 跳过分发阶段从而允许未认证的操作 ```bash sudo mysqld_safe --skip-grant-tables & ``` 3. **连接并更改密码** 按照上面提到的第一种方法,在这个状态下无需输入原有密码就能进行所有级别的管理活动了;记得完成后再关闭临时守护进程并且按照正常流程重新开启主服务程序。 4. **恢复正常工作流** 当密码已经被改好之后再次终止紧急修复模式下的MySQL进程,然后按常规手段激活它就好了。 --- 以上就是关于如何修改 MySQL 中超级用户的凭证指南,请务必妥善保管好新设立下来的凭据以防泄露风险!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值