MySQL:报错:1130-host ... is not allowed to connect to this MySql server

报错:1130-host ... is not allowed to connect to this MySql server

1、改表法

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

复制代码
mysql -u root -pvmwaremysql> use mysql;
mysql> update user set host = '%' where user = 'root';
mysql> select host, user from user;

2、授权法

例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话

复制代码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

复制代码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码

复制代码
GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;

我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句 mysql>FLUSH RIVILEGES 使修改生效.就可以了

另外一种方法,不过我没有亲自试过的,在csdn.net上找的,可以看一下.

在安装mysql的机器上运行:

复制代码
// 这样应该可以进入MySQL服务器
1、d:\mysql\bin\>mysql -h localhost -u root 
// 赋予任何主机访问数据的权限
2、mysql > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION 
// 修改生效
3、mysql > FLUSH PRIVILEGES 
// 退出MySQL服务器
4、mysql > EXIT
相关推荐
卿雪16 分钟前
Redis 线程模型:Redis为什么这么快?Redis为什么引入多线程?
java·数据库·redis·sql·mysql·缓存·golang
梁萌20 分钟前
MySQL中innerDB引擎的锁机制
数据库·mysql·索引·表锁·行锁
Chloeis Syntax28 分钟前
MySQL初阶学习日记(4)--- 插入、聚合、分组查询 + 数据库约束
数据库·笔记·学习·mysql
西岭千秋雪_38 分钟前
MySQL集群搭建
java·数据库·分布式·mysql
古城小栈1 小时前
MySQL 配置优化 绿皮书
数据库·mysql
箬敏伊儿2 小时前
Apple M2 + Docker + MySQL 轻量配置全教程
数据库·mysql·docker
FserSuN2 小时前
mysql8 loose index skip scan 特性加速分组查询性能
数据库·mysql
tebukaopu1483 小时前
mysql distinct慢
数据库·mysql
l1t3 小时前
利用Duckdb求解Advent of Code 2025第5题 自助餐厅
数据库·sql·mysql·算法·oracle·duckdb·advent of code
豐儀麟阁贵5 小时前
9.6使用正则表达式
java·开发语言·数据库·mysql