连接MySQL报错,is not allowed to connect to this MySQL server
问题描述:
本机装的MySQL数据库,本机可以正常连接,其他机器访问报错,is not allowed to connect to this MySQL server,防火墙等其他策略均配置没问题。
解决方案:
出现该问题的原因是,MySQL数据库只允许自身所在的本机器连接,不允许远程连接。
1、在MySQL所在服务器上使用命令登录到MySQL数据库中
mysql -u root -p
2、选择mysql数据库,并查询权限
use mysql; select host from user where user='root';
可以看到,执行查询语句后得到的数据结果中 host 的值是 localhost
我们执行update语句修改权限
update user set host = '%' where user ='root';
3、刷新配置
flush privileges;
再次执行查询权限语句
select host from user where user='root';
可以看到,已经修改成功
4、最后再次用其他机器连接MySQL数据库,可以连接成功
DBMS: MySQL (版本 5.7.41)
区分大小写: 普通形式=lower, 分隔形式=lower
驱动程序: MySQL Connector/J (版本 mysql-connector-java-8.0.25 (Revision: 08be9e9b4cba6aa115f9b27b215887af40b159e0),JDBC4.2)
Ping: 29毫秒
SSL: yes
maven-default-http-blocker external:http:* Pseudo repository to mirror external repositories initially using HTTP. http://0.0.0.0/ true
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
Sql代码 复制代码
1. mysql -u root -pvmwaremysql>use mysql;
2. mysql>update user set host = '%' where user = 'root';
3. mysql>select host, user from user;
2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
Sql代码 复制代码
1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH
GRANT OPTION;
2.FLUSH PRIVILEGES;
到此这篇关于连接MySQL报错,is not allowed to connect to this MySQL server的文章就介绍到这了,更多相关内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文地址:https://blog.csdn.net/weixin_41386222/article/details/130933317
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。