Mysql忘记密码怎么办?

1.打开配置文件修改

shell>vi /etc/my.cnf

在[mysqld]下面加入

skip-grant-tables

然后按ESC键输入:wq回车

2.保存后重新启动MySQL

shell>service mysqld restart

3.这样就可以无密码进入了,然后修改密码

如果出现这个问题

mysql>set password=password(‘123456aaa’);
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

设置安全级别

mysql>set global validate_password_policy=0;

设置密码长度

mysql>set global validate_password_length=4;

然后在设置密码

mysql>set password=password(‘123456aaa’);
忘记 MySQL 的 `root` 用户密码的情况下,可以通过使用 `init-file` 参数来重置密码。该方法利用了 MySQL 启动时读取初始化文件的功能,通过在初始化文件中写入修改密码的 SQL 命令,从而实现密码的重置。以下是具体步骤: 1. 创建一个文本文件,并在其中写入以下 SQL 命令,用于修改 `root` 用户的密码: ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; FLUSH PRIVILEGES; ``` 其中 `'新密码'` 需要替换为用户希望设置的新密码。 2. 将该文件保存为 MySQL 服务可以访问的路径,例如 `/tmp/reset_password.sql`。 3. 编辑 MySQL 的配置文件(通常是 `/etc/my.cnf` 或 `/etc/mysql/my.cnf`),在 `[mysqld]` 部分添加或修改 `init-file` 参数,指定上一步创建的文件路径: ```ini [mysqld] init-file=/tmp/reset_password.sql ``` 4. 重启 MySQL 服务以应用更改。具体的重启命令取决于操作系统和 MySQL 的安装方式,通常可以使用以下命令之一: ```bash sudo systemctl restart mysqld ``` 或者 ```bash sudo service mysql restart ``` 5. MySQL 服务重启后,会自动执行初始化文件中的 SQL 命令,从而将 `root` 用户的密码修改为指定的新密码。 6. 修改完成后,建议删除或重命名初始化文件,以防止其被再次执行,从而避免潜在的安全风险[^1]。 此外,如果需要临时以跳过权限检查的方式启动 MySQL 服务,可以通过添加 `--skip-grant-tables` 参数来实现。这种方式适用于无法通过 `init-file` 方法重置密码的情况。具体操作步骤如下: 1. 停止 MySQL 服务。 2. 使用 `--skip-grant-tables` 参数启动 MySQL 服务: ```bash sudo mysqld_safe --skip-grant-tables & ``` 3. 使用 `mysql` 命令行工具连接到 MySQL 服务器,此时无需密码验证。 4. 执行以下 SQL 命令修改 `root` 用户的密码: ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; FLUSH PRIVILEGES; ``` 5. 停止 MySQL 服务,并正常重启以恢复权限检查[^2]。 需要注意的是,上述方法适用于本地环境或具有服务器管理权限的情况。对于托管在云平台上的 MySQL 实例,可能需要遵循云平台提供的特定流程来重置密码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值