mysql只允许本机和某些ip可以连接 mysql允许局域网连接

您所在的位置:网站首页 windows防火墙只允许特定ip访问 mysql只允许本机和某些ip可以连接 mysql允许局域网连接

mysql只允许本机和某些ip可以连接 mysql允许局域网连接

2024-05-19 18:36| 来源: 网络整理| 查看: 265

内容: 为了大家在一起协同开发的方便可以在一个局域网里面配置一台mysql服务器提供协同这访问。

情景: 安装好Mysql, 本地访问正常,很奇怪局域的机器都无法访问该服务器上的MYSQL数据库.提示不能进行连接。Mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问 。

ps:现在的文章都是一大抄,到处文章都是一样,可恶的是自己连验证过都没有,都是错误的方案。。。实在不敢恭维!!

以下是实现过程:

 

1、在MySQL Server端:

登陆MYSQL,键入mysql -h localhost -u root -p

提示你输入密码,输入密码后进入

 

2、在mysql 命令模式,键入以下命令:

mysql> usemysql;   

mysql> GRANT ALLON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;   

说明:

这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思,%可以以指定IP代替)的电脑 用admin帐户 和密码(admin)来访问这个MySQL Server   必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆 。如输入:

 grant all on *.* to long@'192.168.1.199' identified by'123' with

Grant option;

 

在服务器上,使用IP地址和新的用户,确实可以访问服务器,但是远程机器还是无法访问到该MYSQL.

 

3、关闭服务器的防火墙:只关闭mysql访问的端口如下:

在开始中打开控制面板;点击“windows 防火墙”(找不到时在查看方式中以大图标显示);点选左边列表中的“高级设置”;点击左边的“入站规则”;选择右边的“新建规则”;选择“端口”,点击“下一步”;选择协议规则(TCP/UDP),选择“TCP”即可,选择特殊本地端口,输入80、3306两个端口,然后单击“下一步”;选择“允许连接”,单击“下一步”;选择所有的准则应用,“域”“私有”“公共”三个全够,点击“下一步”输入一个规则的名字和描述,任意即可,如名字为“HTTP”;点击“完成”。

第一:更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。  或者新加条记录,“host” 项为要访问的ip地址,并授权。重启mysql服务。  第二:在系统防火墙添加例外端口:3306,并允许例外。 

错误提示: ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server 的解决方法: 1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 

mysql只允许本机和某些ip可以连接 mysql允许局域网连接_IP

1. 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; 

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

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 

3.在window自带的防火墙里的例外添加3306端口 

总结:

 

mysql -u root -p mysql>use mysql; mysql>select 'host' from user where user='root'; mysql>update user set host = '%' where user ='root'; mysql>flush privileges; mysql>select 'host' from user where user='root';

第一句是以权限用户root登录 

第二句:选择mysql库 

第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称) 

第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址 

第五句:刷新MySQL的系统权限相关表 

第六句:再重新查看user表时,有修改。。 

重起mysql服务即可完成。 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3