Mysql忘记root密码怎么办

本文介绍了一种通过禁用权限表来重置MySQL root用户密码的方法。具体步骤包括临时禁用权限检查、重启服务、使用新密码更新root用户信息、重新启用权限检查等。

1. 用命令编辑/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.cnf;

2. 在[mysqld]下添加skip-grant-tables,然后保存并退出;


3. 重启mysql服务:service mysqld restart 或 /etc/init.d/mysqld restart;

4. 重启以后,执行mysql命令进入mysql命令行;

5. 修改root用户密码

MySQL> UPDATE mysql.user SET Password=PASSWORD('新密码') where USER='root';
MySQL> flush privileges; 
MySQL> exit

6. 把/etc/my.cnf中的skip-grant-tables注释掉,然后重启mysql,即:service mysqld restart 或 /etc/init.d/mysqld restart;

好了,以后就可以用root新的密码登录了!




### 重置忘记MySQL root 密码忘记 MySQLroot 密码时,可以通过以下步骤进行重置: 1. **停止 MySQL 服务** 在 Linux 系统中,可以通过以下命令停止 MySQL 服务: ```bash sudo systemctl stop mysql ``` 或者在某些系统上使用: ```bash sudo service mysql stop ``` 2. **以跳过权限验证的方式启动 MySQL** 使用 `--skip-grant-tables` 参数启动 MySQL,跳过权限验证,从而无需密码即可登录: ```bash sudo mysqld_safe --skip-grant-tables & ``` 该步骤允许用户无需密码即可访问数据库,从而修改 root 用户的密码。 3. **连接到 MySQL** 在跳过权限验证后,使用以下命令连接到 MySQL: ```bash mysql -u root ``` 4. **刷新权限表并修改 root 密码** 登录 MySQL 后,首先刷新权限表,然后使用 `ALTER USER` 命令修改 root 用户的密码。例如,修改 `root@localhost` 和 `root@%` 的密码: ```sql FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; ALTER USER 'root'@'%' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES; ``` 其中 `'new_password'` 是用户希望设置的新密码。 5. **退出 MySQL 并重新启动服务** 完成密码修改后,退出 MySQL: ```sql exit; ``` 然后停止以 `--skip-grant-tables` 方式运行的 MySQL 进程,并正常启动 MySQL 服务: ```bash sudo systemctl start mysql ``` 或者: ```bash sudo killall mysqld sudo systemctl start mysql ``` 6. **使用新密码登录 MySQL** 使用新设置的密码登录 MySQL,验证密码是否修改成功: ```bash mysql -u root -p ``` ### 注意事项 - 在修改密码时,确保使用强密码,以提高安全性。 - 如果 MySQL 版本为 5.7 或更低,可能需要使用 `SET PASSWORD` 命令来修改密码,而不是 `ALTER USER`。 - 如果使用的是 MySQL 容器环境,可能需要通过修改配置文件(如 `/etc/my.cnf`)并重启容器来完成密码重置。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值