mysql忘记密码怎么办

方法:
可以进行如下的步骤重新设置MySQL的root密码: 

1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对 外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全 状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。 


2.修改MySQL的登录设置: 

# vi /etc/my.cnf 
在[mysqld]的段中加上一句:skip-grant-tables 
保存并且退出vi。 

3.重新启动mysql

4.登录并修改MySQL的root密码 
# mysql 
Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 3 to server version: 3.23.56 
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer. 
mysql> USE mysql ; 
Reading table information for completion of table and column names 
You can turn off this feature to get a quicker startup with -A 
Database changed 
mysql> UPDATE user SET Password = password ( ‘new-password’ ) WHERE User = ‘root’ ; 
Query OK, 0 rows affected (0.00 sec) 
Rows matched: 2 Changed: 0 Warnings: 0 
mysql> flush privileges ; 
Query OK, 0 rows affected (0.01 sec) 
mysql> quit 
Bye 

5.将MySQL的登录设置修改回来 
# vi /etc/my.cnf 
将刚才在[mysqld]的段中加上的skip-grant-tables删除 
保存并且退出vi。 

6.重新启动mysqld 

### 如何重置 MySQL root 用户密码 #### 方法一:通过 `UPDATE` 命令重置密码忘记 MySQL 的 root 密码时,可以通过以下 SQL 语句来更新 root 账户的认证字符串: ```sql mysql -u root UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root'; FLUSH PRIVILEGES; quit ``` 上述命令中的 `'new_password'` 需要被替换成新的期望密码[^1]。 #### 方法二:使用 `ALTER USER` 修改身份验证方式 另一种更推荐的方法是利用 `ALTER USER` 来更改 root 用户的身份验证插件以及其对应的密码。这可以确保兼容性和安全性: ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NewPassword'; FLUSH PRIVILEGES; ``` 完成操作后同样需要刷新权限表以使变更生效,并且记得用 `EXIT;` 或者 `quit` 退出 MySQL 客户端[^2]。 #### 关键步骤说明 为了保证这些SQL指令能够成功执行,在此之前应当先让 MySQL 服务处于一种特殊的安全模式——即跳过授权表(`--skip-grant-tables`)启动;而在所有的修改完成后,则需正常重启 MySQL 服务以便应用最新的安全设置变化[^3]。 #### 提醒事项 - 执行以上任一步骤前,请务必确认已经停止了现有的 MySQL 实例。 - 对于生产环境中使用的数据库实例,建议提前做好数据备份工作以防意外情况发生。 - 更改后的密码应该妥善保管,并考虑同步至其他依赖该数据库的应用程序配置文件里去。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值