使用mysqladmin命令修改MySQL密码与忘记密码
封面图
•
2025-12-06
•
MySQL
224
0
0
0
在使用 MySQL 时,如果需要修改密码或忘记密码,可以使用 `mysqladmin` 命令来完成。以下是如何通过 `mysqladmin` 修改 MySQL 密码和重置忘记的密码的详细步骤。 --- ## 一、使用 `mysqladmin` 修改 MySQL 密码 ### 1. 修改当前用户的密码(已知原密码) ```bash mysqladmin -u 用户名 -p password 新密码 ``` - `-u`:指定用户名(例如 root) - `-p`:提示输入原密码 - `password`:表示后面是新密码 示例: ```bash mysqladmin -u root -p password new_password ``` 执行后会提示你输入原密码,输入正确后即可修改成功。 --- ### 2. 不使用 `-p` 参数(仅限本地且无密码的情况) 如果你是在本地操作,并且当前用户没有设置密码,可以直接用: ```bash mysqladmin -u root password 新密码 ``` 但注意:**这个命令会直接设置密码,不会提示你输入原密码**,因此只适用于没有密码的用户。 --- ## 二、忘记密码时如何重置 ### 方法一:使用 `--skip-grant-tables` 跳过权限验证 #### 步骤如下: 1. **停止 MySQL 服务** ```bash sudo systemctl stop mysql ``` 或者根据你的系统使用不同的命令(如 `service mysql stop`)。 2. **以跳过权限表的方式启动 MySQL** ```bash sudo mysqld_safe --skip-grant-tables & ``` > 注意:有些系统可能需要使用 `mysqld` 命令而不是 `mysqld_safe`,具体请参考你的 MySQL 安装方式。 3. **连接到 MySQL(无需密码)** ```bash mysql -u root ``` 4. **修改 root 用户密码** ```sql USE mysql; UPDATE user SET authentication_string = PASSWORD('新密码') WHERE User = 'root'; FLUSH PRIVILEGES; quit; ``` 5. **退出并重启 MySQL 服务** ```bash sudo systemctl start mysql ``` 6. **测试新密码是否有效** ```bash mysql -u root -p ``` 输入新密码即可登录。 --- ### 方法二:使用 `mysqladmin` 强制修改密码(需要知道原密码) 如果你还记得原密码,可以使用下面的方法: ```bash mysqladmin -u root -p old_password password new_password ``` 其中: - `old_password` 是你原来的密码 - `new_password` 是你要设置的新密码 --- ## 三、注意事项 - 使用 `mysqladmin` 修改密码时,确保你有权限访问 MySQL。 - 如果你使用的是远程服务器,建议使用安全的方式(如 SSH 登录后操作)。 - 修改密码后,记得更新相关配置文件或应用程序中的数据库连接信息。 --- ## 四、常见错误 ### 1. `Access denied for user 'root'@'localhost'` 这说明你输入的密码错误或没有权限。请确认你使用的用户名和密码是否正确,或者尝试用 `--skip-grant-tables` 的方法重置密码。 ### 2. `mysqladmin: connect to server at 'localhost' failed` 可能是 MySQL 服务没有运行,或者你没有正确安装 MySQL。 --- 如果你能告诉我你使用的操作系统(如 Ubuntu、CentOS、Windows),我可以提供更具体的命令。欢迎继续提问!
上一篇:
忘记mysql root密码,MYSQLADMIN修改密码的方法
下一篇:
1209 - The MySQL server is running with the --read
标题录入,一次不能超过6条
留言
评论