文档章节

mysql 远程连接不上,bind-address参数配置要求,以及怎么去使得mysql能够允许远程的客户端访问

o
 osc_isezqdgg
发布于 2019/09/18 11:06
字数 1460
阅读 7
收藏 0

精选30+云产品,助力企业轻松上云!>>>

 

 

刚安装了MySQL服务器,使用远程管理工具总是连接不上,因为知道mysql的默认端口是3306,于是使用telnet连接这个端口,(从这里可以学到telnet是可以这样用的)

telnet 192.168.1.10 3306

还是连接不上,于是怀疑是防火墙问题,便将防火墙关掉,
service iptables stop

再次telnet,还是没办法连上这个端口,然后通过netstat查看3306的端口状态是怎么样的(从这里可以学到netstat是可以这样用的)
netstat -apn | grep 3306

终于发现了一个比较奇怪的东西
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 3783/mysqld

上面标红的地方,监听端口正常,但却绑定了本地回旋地址,难怪总是连接不上,于是查了下资料,找到了解决办法:
修改mysql的配置文件/etc/mysql/my.conf,将bind-address后面增加远程访问IP地址或者禁掉这句话就可以让远程机登陆访问了。

bind-address=127.0.0.1  139.196.197.138
(允许多个IP可访问mysql服务器,空格隔开)

记得要重启mysql服务哦
service mysql restart

 参考链接:http://www.php512.com/?p=808

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

mysql的配置文件my.cnf 或者 my.ini在哪?

 

1)/etc/mysql/my.conf

2)D:\mysql-5.7.27-win32\my.ini

即一般linux 上都放在 /etc/my.cnf   ,window 上安装都是默认可能按照上面的路径还是没找到, window 上  可以登录到mysql中  使用   show variables like '%data%' 先找到data 存放路径, 一般my.ini 在 data文件的上一级。

 

 

上面的是针对的LINUX系统上的mysql的配置的  /etc/mysql/my.conf

下面来介绍一下在window上面的mysql 的配置 mysql 的配置文件   D:\mysql-5.7.27-win32\my.ini

 

此时出现的问题:net stop mysql  之后无法的去从新的启动mysql  服务,报错如下:

 

 之后将配置文件再的blind -adress改成了127.0.0.1   没有配置两个ip,这个时候可以去正常的关闭和重启Mysql服务了,

更改成blind -adress=192.168.27.1了,  192.168.27.1是远程的客户端的ip,之后重启还是无法启动,报错如下;

 

 

 

blind -adress=192.168.27.4,   192.168.27.4是mysql server所在计算机的ip,可以重启

 

 

但是仍然是没有解决在mysql配置文件中设置远程访问的问题!!!

具体的解决办法:网上的有人认为:可以将Mysql的配置文件更改一下在其中的blind-adress=的后面赋值两个ip地址,但是自己试过了,改成两个了,根本无法重新的去启动mysql服务,之后见到了一篇博文:https://blog.csdn.net/weixin_33816946/article/details/85977125,所以认为无法通过 blind-adress配置两个 ip ,一个是本机的localhost,一个是远程的客户端机的ip,这样没有实现(但是到底能不能这种方法去实现:还未得到答案!!!!!!!!!!)

博文的内容如下

http://jpuyy.com/2013/07/mysql-bind-multi-address.html
mysql绑定多个ip地址
发表于2013 年 71 日
my.cnf中有选项bind-address=127.0.0.1,是说mysql server监听的是本地发来的请求,如果是任意主机都可以请求,则写为0.0.0.0,但是这样又不太安全。监听某ip,指定此ip地址即可,但是要保证mysql的user中有允许此ip访问,否则不能对数据库操作。那么是否可以在配置里只规定几个ip呢?

简单直接回答:不可能

请参考:http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_bind-address

The MySQL server listens on a single network socket for TCP/IP connections. This socket is bound to a single address, but it is possible for an address to map onto multiple network interfaces. The default address is 0.0.0.0. To specify an address explicitly, use the –bind-address=addr option at server startup, where addr is an IPv4 address or a host name. If addr is a host name, the server resolves the name to an IPv4 address and binds to that address. The server treats different types of addresses as follows:

If the address is 0.0.0.0, the server accepts TCP/IP connections on all server host IPv4 interfaces.
If the address is a “regular” IPv4 address (such as 127.0.0.1), the server accepts TCP/IP connections only for that particular IPv4 address.

但是有此需求,就会到访问控制,那么使用防火墙iptables可实现此效果

mysql-server为192.168.1.3,只允许192.168.1.4,  192.168.1.5,  192.168.1.6来访问3306端口

在my.cnf中

bind-address = 0.0.0.0
在访问3306端口的主机中,只允许192.168.1.4-6,其他ip一律DROP掉

/sbin/iptables -A INPUT -p tcp -s 192.168.1.4 --dport 3306 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -s 192.168.1.5 --dport 3306 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -s 192.168.1.6 --dport 3306 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 3306 -j DROP
或

/sbin/iptables -A INPUT -p tcp --dport 3306 ! -s 192.168.1.4 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 3306 ! -s 192.168.1.5 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 3306 ! -s 192.168.1.6 -j DROP
保存防火墙规则

service iptables save
查看INPUT链包含3306的规则

echo -e "target prot opt source destination\n$(iptables -L INPUT -n | grep 3306)"
这样就实现了mysql只允许指定ip访问。

参考:

http://www.cyberciti.biz/faq/unix-linux-mysqld-server-bind-to-more-than-one-ip-address/

 

更改防火墙的安全策略教程:

 

Windows防火墙配置(允许某个网段和部分IP访问某个端口)
1.win+R

2.gpedit.msc

3.计算机配置+Windows设置+安全设置+IP安全策略,在本地计算机

4.创建IP安全策略

5.配置IP筛选器列表、筛选器操作

6.分配

 

 

演示动图见https://blog.csdn.net/u013165852/article/details/88401546

 

192.168.1.0/24

192.168.1.0是你的IPV4地址;/24是你的子网掩码,代表255.255.255.0。

IPV4地址用32位二进制数表示,为了方便,大家使用点分十进制记法,将每个字节用"."来分开。因此32位的4字节数被分成了4段,分别是192 168 1 0。
子网掩码也是32位二进制数表示,/24指的就是子网掩码前24位全部都是1,转换过来就是:255.255.255.0

原文链接:https://blog.csdn.net/u013165852/article/details/88401546

 

 

 

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
dcoker操作mysql出现的问题汇总

实践总结 如下: 1.相对于mysqk5.xx,mysql8.xx安全性得到加强,访问密码不能是简单的字符和数字,必须包含字符,数字,大小写字符,机特殊字符如!-等,故mysql配置比较繁琐性。 2.局域网访问...

osc_7mgl4ouc
01/04
6
0
启动MySql提示:The server quit without updating PID file(…)失败

在远程连接mysql的时候,连接不上,出现如下报错: Lost connection to MySQL server at 'waiting for initial communication packet', system error: 0 原因分析: mysql开启了DNS的反向解析......

osc_bfhs2jat
2018/04/07
10
0
Mysql连接错误:Lost connection to Mysql server at 'waiting for initial communication packet'

from:https://www.cnblogs.com/kevingrace/p/6196885.html 在远程连接mysql的时候,连接不上,出现如下报错: Lost connection to MySQL server at 'waiting for initial communication pack......

osc_pn11u1x9
2018/08/06
6
0
Mysql 在本地能连接上,远程链接不上的解决办法

在阿里云服务器 ECS上,安装完MySQL数据库后,在本地能连接上,远程连接不上,一直报10060的错误,如下图: 工具/原料 阿里云服务器 ECS 安装MySQL 方法/步骤 1.查看MySQL进程是否正常,可以...

王怀楼
2019/04/16
0
0
MySQL远程连接不上的解决方法

1.排除网络或防火墙问题 先看是否能ping通远程服务器,ping 192.168.1.211,如果不可以就是网络问题。然后,检查端口是否被防火墙挡住了,telnet 192.168.1.211 3306,如果连接失败,配置防火...

osc_evk522lj
2018/07/11
1
0

没有更多内容

加载失败,请刷新页面

加载更多

python每日经典算法题5(基础题)+1(中难题)

  现在,越来越多的公司面试以及考验面试对算法要求都提高了一个层次,从现在,我讲每日抽出时间进行5+1算法题讲解,5是指基础题,1是指1道中等偏难。希望能够让大家熟练掌握python的语法结...

osc_9we1w99u
21分钟前
0
0
vue中通过路由跳转的三种方式

router-view 实现路由内容的地方,引入组件时写到需要引入的地方 需要注意的是,使用vue-router控制路由则必须router-view作为容器。 通过路由跳转的三种方式 1、router-link 【实现跳转最简...

dragon_tech
21分钟前
19
0
秃顶顶少年团-冲刺总结

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homewor......

osc_ed2py9ot
23分钟前
9
0
往事不堪回首

开局一张图,内容全靠编 从12年大学毕业到如今,兜兜转转,依然在码工,码农,码代码的路上徘徊着,从最初的用asp.net写站点,写内部的CRM,内部管理系统,内部的XXX,很难想象内部的系统居然...

osc_nvkeo9cj
24分钟前
17
0
一款很好用的前端公、农历转换插件

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, ......

osc_qo89by3k
25分钟前
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部