MySQL8.0开启远程连接权限

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

MySQL8.0开启远程连接权限

Yale曼陀罗   2022-09-08 我要评论

问题描述:

开发环境:MySQL8+Centos8;

执行MySQL语句:mysql -h 180.76.XXX.XX -u root -pPassword;

报错原因:

ERROR 1130 (HY000): Host ‘180.76.XXX.XX’ is not allowed to connect to this MySQL server

解决方法:

首先,检查要连接数据库的服务器的防火墙等是否关闭,检查与服务器连接是否通畅(方法:在cmd控制台中 输入 ping ip地址)

接下来,进入正题:

具体操作步骤如下:

登录本地MySQL库, 切换至database= “mysql” 下,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从"localhost"改称"%"

执行的mysql命令如下:

【1】mysql命令连接要开启远程连接权限的本地mysql库

>mysql -u root -pPassWord   # ”root“为登录账号,”Password“为登录密码,按自己设置的修改
>use mysql;   # 使用的database名称为”mysql“
>update user set host = '%' where user = 'root';  # 修改”root“账号的配置信息
# update user set host='%' where user='test';   ## 如果账号是“test”,使用该命令
>select host, user from user;    # 验证修改成功;

在mysql命令行的具体执行结果如下图:

2. 此时“如果连接远程MySQL,还是没连接上”时,则再继续执行操作 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;进行账号授权,之后执行FLUSH PRIVILEGES; 进行刷新,即可。"

>mysql -u root -pPassWord   # ”root“为登录账号,”Password“为登录密码,按自己设置的修改    # 连接MySQL数据库
>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;   # 授权
# Grant all privileges on test.* to 'test'@'%';     # 如果账号为“test”时,使用该命令
>FLUSH PRIVILEGES;      # 刷新
>EXIT;    # 退出MySQL

在mysql命令行的具体执行结果如下图:

备注:注意这里一定要以英文分号结尾!!!

这时没有上面的ERROR 1133错误了,经过测试,已经能连接到远程服务器了。

总的执行步骤如下:

参考文献:

对MySQL开放远程连接权限的方法

解决mysql8报错:ERROR 1410 (42000): You are not allowed to create a user with GRANT

总结

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们