您的位置:首页 > 数据库 > MySQL

在局域网里配置mysql服务器

2016-08-12 13:10 148 查看
日期: 2016-8-12

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

文章转载一

 博文出处:http://blog.csdn.net/l857684042/article/details/40951511

情景: 安装好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”;点击“完成”。

文章转载二:http://xp9802.iteye.com/blog/1254695

第一:更改 “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"改称"%" 

Java代码  


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服务即可完成。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  局域网 mysql 服务器