mysql修改密码,久了都忘了

本文介绍如何使用MySQL命令更新指定用户的密码,并刷新权限。通过执行特定的SQL语句,可以安全地更改用户账户的认证字符串。

use mysql;
update user set authentication_string=password('yyyyyy') where user='xxxxxx' and host='localhost';
flush privileges;

### 如何重置MySQL数据库的root用户密码 #### 方法一:通过`skip-grant-tables`模式重置密码 可以通过在MySQL服务启动时加入`--skip-grant-tables`参数的方式绕过权限验证,从而无需密码即可进入MySQL。以下是具体操作: 1. **停止MySQL服务** 使用以下命令停止当前正在运行的MySQL服务: ```bash sudo service mysql stop ``` 2. **以跳过权限表认证的方式启动MySQL** 在终端中输入以下命令,使MySQL忽略权限表认证: ```bash mysqld --skip-grant-tables & ``` 这样会启动一个不校验用户权限的MySQL实例。 3. **登录MySQL修改密码** 打开一个新的终端窗口,直接使用无密码方式登录MySQL: ```sql mysql -u root ``` 登录成功后,切换到`mysql`数据库: ```sql USE mysql; ``` 更新`user`表中的密码字段(假设新密码为`new_password`): ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES; ``` 如果版本较旧,则可能需要使用以下语句[^4]: ```sql UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root'; FLUSH PRIVILEGES; ``` 4. **重启MySQL服务** 修改完成后,先关闭跳过的MySQL实例,然后再正常启动MySQL服务: ```bash kill $(pgrep mysqld) sudo service mysql start ``` --- #### 方法二:编辑`my.cnf`文件实现免密登录 另一种方法是通过修改MySQL配置文件`my.cnf`来临时禁用权限验证。 1. **找到并编辑`my.cnf`文件** 编辑MySQL的配置文件,在`[mysqld]`部分添加以下内容: ```ini skip-grant-tables ``` 配置文件路径通常位于 `/etc/mysql/my.cnf` 或 `/etc/my.cnf` 中。 2. **重启MySQL服务** 保存更改后,重启MySQL服务使其生效: ```bash sudo service mysql restart ``` 3. **登录MySQL修改密码** 和方法一相同,可以直接登录MySQL而无需提供密码: ```sql mysql -u root ``` 接下来按照前述步骤更新密码,并刷新权限。 4. **恢复默认配置** 完成密码修改后,删除`my.cnf`文件中新增的`skip-grant-tables`选项,再次重启MySQL服务恢复正常状态。 --- #### 注意事项 - 不同操作系统和服务管理工具可能会有不同的命令语法,请根据实际情况调整。 - `PASSWORD()`函数已被废弃于某些高版本MySQL中,建议优先尝试`ALTER USER ... IDENTIFIED BY`语句[^4]。 - 若遇到其他异常情况,可查阅官方文档获取更详细的指导[^5]。 ```python # 示例Python脚本用于测试新的MySQL连接 import pymysql try: connection = pymysql.connect( host='localhost', user='root', password='new_password', # 替换为实际的新密码 database='' ) cursor = connection.cursor() cursor.execute("SELECT VERSION();") result = cursor.fetchone() print(f"MySQL Version: {result}") except Exception as e: print(e) finally: if connection.open: connection.close() ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值