linux mysql8.0忘记root密码
如果您忘记了 Linux 上 MySQL 8.0 的 root 密码,可以按照以下步骤重置密码:
- 停止 MySQL 服务
sudo systemctl stop mysql
- 启动 MySQL 服务并跳过权限验证
sudo mysqld_safe --skip-grant-tables &
- 连接 MySQL 服务器
mysql -u root
- 修改 root 用户密码
use mysql; update user set authentication_string=password('新密码') where user='root'; flush privileges; quit;
- 重启 MySQL 服务
sudo systemctl restart mysql
现在您可以使用新密码登录 MySQL 8.0 的 root 用户了。
linux系统mysql8.0忘记root密码
重置 Linux 系统上 MySQL 8.0 的 Root 用户密码
方法一:通过 mysqld --skip-grant-tables
方式重置密码
当尝试使用 mysqld --skip-grant-tables
启动 MySQL 并连接到服务器时遇到错误 ERROR 2003 (HY000)[^1],这通常意味着 MySQL 服务未能正常启动。解决此问题的方法如下:
停止当前正在运行的 MySQL 服务:
sudo systemctl stop mysqld
确保没有任何其他 MySQL 进程在后台运行:
ps aux | grep mysql
kill -9 <PID>
以跳过权限表的方式启动 MySQL:
sudo mysqld_safe --skip-grant-tables &
此时可以无需密码登录 MySQL 数据库并更改 root 密码。
修改 Root 用户密码
一旦成功进入 MySQL 控制台,则可按照下面 SQL 命令来更新 root 账户的新密码[^4]:
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPasswordHere';
对于远程访问的情况,还需要设置 'root'@'%'
来允许来自任何主机名或 IP 地址的连接请求:
CREATE USER 'root'@'%' IDENTIFIED BY 'NewPasswordHere';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;
最后记得重启 MySQL 服务使新配置生效,并移除之前为了绕过验证而做的临时改动。
方法二:编辑 my.cnf 文件方式重置密码
另一种更安全的做法是在 /etc/my.cnf
中添加 skip-grant-tables
参数让 MySQL 忽略授权表从而实现免密登陆[^3]:
打开配置文件进行编辑:
sudo vim /etc/my.cnf
找到 [mysqld]
部分并在其下方加入一行 skip-grant-tables
:
[mysqld]
...
skip-grant-tables
保存修改后的文件(:wq
),接着重新加载 MySQL 服务使其应用新的参数设定:
sudo systemctl restart mysqld
之后就可以像上面提到的一样去改变 root 密码了。完成操作后务必删除该选项以免造成安全隐患!
linux mysql 8.0修改root密码
在Linux系统上,MySQL 8.0数据库通常使用mysql_secure_installation
工具来进行初始设置或修改root用户的密码。以下是修改root密码的基本步骤:
登录MySQL: 使用命令行作为非-root用户,通过
sudo -u root mysql
登录到MySQL服务器。运行安全模式: 输入
\mysql_secure_installation
启动安全模式。如果没有自动运行,可以手动输入INSTALL
并按回车。更改root密码: 当提示“Change the root password?”时,输入新的密码两次确认。如果之前已经设置了密码,可以选择“Skip”跳过此步骤。
删除匿名用户: 确认是否删除允许从本地主机无密码登录的匿名用户,输入"Yes"或"No"。
删除测试数据库和临时表空间: 同样询问是否删除
test
数据库和其他不必要的临时表空间,根据需要选择。限制root远程访问: 确定是否只允许从本地连接到MySQL(
localhost
),如果是,输入"Yes";否则,你需要配置防火墙规则。完成安装: 最后确认所有改变,然后退出安装模式,即输入
quit
。
完成以上步骤后,你将拥有一个新的root密码,下次登录时就需要使用这个新密码了。
相关推荐
















