同时安装了mysql5.5,8.0两个版本的数据库,突然忘记了8.0的密码,而且连接还断开了,怎么才能找到密码连接上去啊或者修改密码
试过很多密码 都不对
同时安装了mysql5.5,8.0两个版本的数据库,突然忘记了8.0的密码,而且连接还断开了,怎么才能找到密码连接上去啊或者修改密码
试过很多密码 都不对
在 MySQL 8.0 中,如果你忘记了 root 密码或者任何用户的密码,并且没有权限访问 MySQL 服务,你通常需要停止 MySQL 服务并以一种特殊模式启动它,从而能够重置密码。由于你还安装了 MySQL 5.5,请确保你针对的是 MySQL 8.0 的操作。以下是在 Linux 系统上重置 MySQL 8.0 root 密码的步骤(对于 Windows,过程类似,但服务启动和管理方式会有所不同):
首先,你需要停止 MySQL 服务。这可以通过服务管理器或命令行完成。在 Linux 上,你可以使用如下命令之一(取决于你的系统配置):
sudo systemctl stop mysql
# 或者
sudo /etc/init.d/mysql stop
# 或者使用 mysql.server
sudo /usr/local/mysql/support-files/mysql.server stop
然后,你需要以无密码模式启动 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
文件的实际路径。
密码更改后,你需要正常重启 MySQL 服务:
sudo systemctl start mysql
# 或者
sudo /etc/init.d/mysql start
# 或者
sudo /usr/local/mysql/support-files/mysql.server start
现在,你应该可以使用新密码登录到 MySQL 8.0 服务器了:
mysql -u root -p
输入你刚才设置的新密码。
mysql_secure_installation
脚本来加强你的 MySQL 安装的安全性。2 回答2k 阅读✓ 已解决
4 回答1.8k 阅读
2 回答1.3k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
1 回答1.5k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
如果是连接状态,面板数据库管理可以修改密码。
未连接或忘记密码的话,
或可以用命令直接修改,
如mysql-8.0,roor密码改成pass123
amh amh-7.1 admin change_mysql_password mysql-8.0 pass123