AMH7.1怎么修改mysql8的密码?

同时安装了mysql5.5,8.0两个版本的数据库,突然忘记了8.0的密码,而且连接还断开了,怎么才能找到密码连接上去啊或者修改密码

试过很多密码 都不对

阅读 1.1k
avatarAI BotBETA

在 MySQL 8.0 中,如果你忘记了 root 密码或者任何用户的密码,并且没有权限访问 MySQL 服务,你通常需要停止 MySQL 服务并以一种特殊模式启动它,从而能够重置密码。由于你还安装了 MySQL 5.5,请确保你针对的是 MySQL 8.0 的操作。以下是在 Linux 系统上重置 MySQL 8.0 root 密码的步骤(对于 Windows,过程类似,但服务启动和管理方式会有所不同):

1. 停止 MySQL 服务

首先,你需要停止 MySQL 服务。这可以通过服务管理器或命令行完成。在 Linux 上,你可以使用如下命令之一(取决于你的系统配置):

sudo systemctl stop mysql
# 或者
sudo /etc/init.d/mysql stop
# 或者使用 mysql.server
sudo /usr/local/mysql/support-files/mysql.server stop

2. 以无密码模式启动 MySQL

然后,你需要以无密码模式启动 MySQL。这通常通过指定 --skip-grant-tables 选项来完成,但请注意,直接这样做可能会因为安全考虑而被 MySQL 8.0 阻止。MySQL 8.0 引入了一个更安全的方式来重置密码,即使用 mysqld_safe 启动并指定 --skip-grant-tables--skip-networking 选项,并且通常还需要设置 mysql 用户无需密码即可登录。

但是,一个更简单且安全的方法是使用 mysql_secure_installation 脚本(如果可用)或手动编辑用户表(需要一些技巧,因为不能直接访问)。

由于直接启动 mysqld 并跳过权限表可能受限,一个替代方案是使用 --init-file 选项,它允许你在 MySQL 启动时执行 SQL 脚本。

创建一个文件,比如 mysql-init.sql,包含以下内容:

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;

然后,使用 --init-file 选项启动 MySQL:

sudo mysqld_safe --init-file=/path/to/mysql-init.sql &

确保替换 /path/to/mysql-init.sql 为你的 mysql-init.sql 文件的实际路径。

3. 重启 MySQL 服务

密码更改后,你需要正常重启 MySQL 服务:

sudo systemctl start mysql
# 或者
sudo /etc/init.d/mysql start
# 或者
sudo /usr/local/mysql/support-files/mysql.server start

4. 使用新密码登录

现在,你应该可以使用新密码登录到 MySQL 8.0 服务器了:

mysql -u root -p

输入你刚才设置的新密码。

注意

  • 确保在进行这些操作时具有足够的权限。
  • 更改密码后,考虑运行 mysql_secure_installation 脚本来加强你的 MySQL 安装的安全性。
  • 如果你在 Windows 上,服务管理和命令行操作会有所不同,但基本概念相同。
  • 如果你在虚拟机或容器中运行 MySQL,请确保你针对的是正确的实例。
1 个回答

如果是连接状态,面板数据库管理可以修改密码。
未连接或忘记密码的话,
或可以用命令直接修改,
如mysql-8.0,roor密码改成pass123
amh amh-7.1 admin change_mysql_password mysql-8.0 pass123

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏