欢迎来到站长天空!

其它数据库

当前位置: 主页 > 数据库 > 其它数据库

MySQL8修改重置root密码,远程连接权限设置

时间:2025-12-05 16:00:03|栏目:其它数据库|点击:

MySQL8 修改重置root密码

这里要单独强调是MySQL8,因为在MySQL 8.04前,执行:SET PASSWORD=PASSWORD('[新密码]');可行,但是MySQL8.0.4开始,这样默认是不行的。因为之前,MySQL的密码认证插件是“mysql_native_password”,而现在使用的是“caching_sha2_password”。

MySQL8修改root密码

# mysql -u root -p '原来的密码'
mysql> use mysql;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
mysql> FLUSH PRIVILEGES;

MySQL8重置root密码

MySQL8忘记root密码如何重置?步骤:

编辑:/etc/my.cnf,在最后加上如下语句 并保持退出文件;

skip-grant-tables

重启mysql服务

service mysqld restart

现在可以免密码登录到mysql上;直接在命令行上输入:

# mysql
mysql> use mysql;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
mysql> FLUSH PRIVILEGES;

退出mysql,删除/etc/my.cnf文件最后的 skip-grant-tables 重启mysql服务。

MySQL8远程连接权限设置

登录mysql,你可以用ssh或GUI工具都行,我这里以命令行示例,首先查看当前root用户相关信息,在mysql数据库的user表中:

# mysql -u root -p *****
mysql> select host, user, authentication_string, plugin from user;

MySQL8修改重置root密码,远程连接权限设置

  • host:允许用户登录的ip‘位置’%表示可以远程;
  • user:当前数据库的用户名;
  • authentication_string:用户密码,在mysql 5.7.9以后废弃了password字段和password()函数;
  • plugin:密码加密方式;

我们看host和user两列,host和user中root对应的值为localhost,即root用户的访问权限为localhost,想把该用户的访问权限设置可远程连接,我们只需要把localhost更改为通配的%就可以了。上面的权限操作语句没有走通,这里就直接使用update语句来更改吧。

update user set host = "%" where user = "root";

注意事项

有的时候我们设置了%但发现还是不能访问,请检查你的端口是否打开了,还有你连接的工具的密码加密方式是否选对了,再适当的进行调整就可以。

上一篇:MariaDB 和 MySQL 权限与远程连接

栏    目:其它数据库

下一篇:解决Failed to set session cookie. Maybe you are using HTTP instead of HTTPS to access phpMyAdmin

本文标题:MySQL8修改重置root密码,远程连接权限设置

本文地址:https://zz.feitang.co/shujuku/28677.html

广告投放 | 联系我们 | 版权申明

申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:257218569 | 邮箱:257218569@qq.com

Copyright © 2018-2025 站长天空 版权所有 Powered by EyouCms冀ICP备14023439号