刚安装了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 年 月 日
my.cnf中有选项bind-address=127.0.0.1,是说mysql server监听的是本地发来的请求,如果是任意主机都可以请求,则写为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.,只允许192.168.1., 192.168.1.5, 192.168..6来访问3306端口 在my.cnf中 bind-address = 0.0.0.0
在访问3306端口的主机中,只允许192.168.1.-,其他ip一律DROP掉 /sbin/iptables -A INPUT -p tcp -s 192.168.1.4 --dport -j ACCEPT
/sbin/iptables -A INPUT -p tcp -s 192.168.1.5 --dport -j ACCEPT
/sbin/iptables -A INPUT -p tcp -s 192.168.1.6 --dport -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport -j DROP
或 /sbin/iptables -A INPUT -p tcp --dport ! -s 192.168.1.4 -j DROP
/sbin/iptables -A INPUT -p tcp --dport ! -s 192.168.1.5 -j DROP
/sbin/iptables -A INPUT -p tcp --dport ! -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

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

  1. 阿里云MySQL远程连接不上问题

    解决阿里云MySQL远程连接不上的问题:step1:1.修改user表:MySQL>update user set host = '%' where user = 'root'; 2.授权主机访 ...

  2. MySQL远程连接不上的解决方法

    这篇文章主要为大家详细介绍了MySQL远程连接不上的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下   之前遇到过MySQL本地可以连接但是远程连不上的问题,没有记录,今天在云上新申请的服 ...

  3. 解决redis远程连接不上的问题

    解决redis远程连接不上的问题 redis现在的版本开启redis-server后,redis-cli只能访问到127.0.0.1,因为在配置文件中固定了ip,因此需要修改redis.conf(有的 ...

  4. sql server导出数据,本地数据库远程连接不上,怎样设置防火墙(自用)

    控制面板——>系统安全——>windows防火墙——>高级设置 新建入站规则: 将一下两个应用 允许入站: D:\Program Files (x86)\Microsoft SQL ...

  5. mysql workbench连接不上远程数据库,xshell无法连接远程主机的问题

    1.先说xshell无法连接的问题 最近使用virtualbox装了个ubuntu-16.04,然后在win7上使用xshell连接,首先确认win7能ping通虚拟机ip.然后确认是否安装了open ...

  6. 无法远程连接服务器上的mysql

    使用mysql管理工具连接服务器删过得mysql,显示连接被拒绝,但是在服务器上是可以登录mysql的. 无法远程连接通常以下几种情况: 首先,关闭mysql.        service mysq ...

  7. CMD远程连接服务器上的MySQL

    1.打开CMD命令行. 2.输入mysql -h要远程的IP地址 -u设置的MySQL用户名 -p登录用户密码 例如:mysql -h192.168.0.110 -uroot -p1233 (如果不能 ...

  8. 远程连接centos7 上的mysql报(ERROR 2003 (HY000): Can't connect to MySQL server on '168.x.x.x' (10060) )

    1.MySQL端口 因为上一篇文章我就已经给MySQL新建了一新用户,且赋予了远程连接数据库的所有权限(GRANT ALL PRIVILEGES ON *.* TO 'newuser' @ '%' I ...

  9. 远程连接服务器上的MySQL

    crt.navicat.Linux系统.MySQL 远程连接上Linux系统,确保Linux系统已经安装上了MySQL数据库.登陆数据库.mysql -uroot -p(密码). 创建用户用来远程连接 ...

随机推荐

  1. Binary Number(位运算)

    #include<bits/stdc++.h> using namespace std; int n; int getBits1(int n)//求取一个数的二进制形式中1的个数. { i ...

  2. MonoBehaviour单例的另外一种省事的写法

    using UnityEngine; public class CommSystem: SingletonGeneric<CommSystem> { public static strin ...

  3. 如何在Word中批量选中特定文本

    如何在Word中批量选中特定文本 举个例子,我们对如下文本进行操作,将文本中所有的“1111111”标红,所有的“2222222”标绿,所有的“3333333”标蓝 在Word中找到“查找”下的“高级 ...

  4. npm解决node-sass安装失败

    npm装包一直都很成功,直到我遇见了node-sass这个包 我一直报这样的错误 npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! node-sas ...

  5. 代码反向生成数据库注释更新sql

    原理 通过反射实体所在程序集,得到枚举值列表,再通过sql获取数据库表结构,两者拼接成sql. 规范 实体枚举字段最好也加上Description特性,方便多次更新: 代码 实体定义 public p ...

  6. Java-POJ1005-I Think I Need a Houseboat

    盗用的翻译,哈哈哈!白嫖就完事了. 题目: 密西西比河岸某处陆地因为河水侵蚀,每年陆地面积都在减少,每年减少50平方英里,减少的陆地面积呈半圆形,即该半圆形面积以每年50平方英里的速度增长.在第一年初 ...

  7. jenkins常用

    记最精简版的启动:gradle集成springboot+vue 安装jenkins,安装待推荐插件 服务器安装gradle 服务器安装npm 配置git仓库,配置git开发者账号等 配置gradle构 ...

  8. Android 使用 MPAndroidChart 实现折线图

    Android 使用 MPAndroidChart 实现折线图 做Android项目的时候用到了折线图,不光折线图,还可能遇到很多的图表需要展示渲染,自己手画的话那好玩了,今天使用MPAndroidC ...

  9. AC3 mantissa quantization and decoding

    1.overview 所有的mantissa被quantize到固定精确度的level(有相应的bap标识)上,level小于等于15时,使用symmetric quantization.level大 ...

  10. [Note]后缀自动机

    后缀自动机 代码 #include <cstdio> #include <algorithm> #include <cstring> const int M = 1 ...