解决方法:1、利用“select host,user from user;”查看root用户的可连接权限主机范围;2、利用“update user set host=‘%’ where user=‘root’;”修改root用户的修改权限的主机范围是任一主机;3、利用“systemctl restart mysqld”重启数据库即可。
本教程操作环境:windows10系统、mysql8.0.22版本、Dell G3电脑。
我的分析和解决步骤:
1、查看root用户的可连接权限主机范围
step 1:登入mysql监视器,通过命令: mysql -uroot -p
step 2.:根据提示输入密码
step 3: 选择mysql数据库,通过命令:use mysql;
step 4: 通过命令:select host,user from user;
界面如果是如下输出:
±----------±----------+ | host | user | ±----------±----------+ | localhost | mysql.sys | | localhost | root | ±----------±----------+
从上面的图可以看出,root用户的可连接权限的主机范围是localhost,我这边是用来测试玩,ip不固定,所以直接给所有主机都开放权限。
2、修改root用户的可连接权限主机范围
step 5:修改root用户的连接权限的主机范围为任一主机,执行命令:update user set host=‘%’ where user=‘root’;
step 6: 再查看root用户的连接权限:select host,user from user;
界面会是如下输出:
±----------±----------+ | host | user | ±----------±----------+ | % | root | | localhost | mysql.sys | ±----------±----------+
从图中可以看到,root用户的可连接权限的主机范围是“%”符号了,该符号说明是任一主机。
3、重启数据库
step 7:如果修改完权限后你还是远程连接不上mysql数据库,那就是需要重启一下mysql服务器,执行命令:
systemctl restart mysqld
到此,你再通过root用户重试连接就可以了。
最后,附上例图一张:
推荐学习:mysql视频教程
以上是mysql远程连接不上怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!