V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
MrMike
V2EX  ›  MySQL

mysql 不能远程连接,还有其他什么需要设置么?

  •  
  •   MrMike · 2018-01-02 00:05:23 +08:00 · 3700 次点击
    这是一个创建于 2278 天前的主题,其中的信息可能已经有所发展或是发生改变。
    环境是 centos 7, mysql 5.6
    已经设置了的:
    1, my.cnf 中 bing-address: 0.0.0.0
    2, grant all privileges on *.* to 'user'@'%' identified by 'password' with grant option; flush privileges;
    3, 3306 端口已经开放了的。
    已经重启 mysql 和服务器很多遍,但是依旧还是不能远程访问,请问还有什么可能性造成的呢?
    第 1 条附言  ·  2018-01-02 06:44:18 +08:00
    1,已经禁用了 selinux
    2,netstat -ntlp:
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1893/httpd
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1431/sshd
    tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2435/mysqld
    21 条回复    2018-01-02 09:33:10 +08:00
    zjp
        1
    zjp  
       2018-01-02 00:15:52 +08:00 via Android
    服务器上执行 `netstat -ntlp` 检查 MySQL 有没有监听 0.0.0.0:3306
    自己电脑上执行 `telnet $IP 3306`检查能不能连上端口
    另外就是看 MySQL 日志了
    zjp
        2
    zjp  
       2018-01-02 00:19:38 +08:00 via Android
    @zjp 看了楼主记录,MySQL 应该是监听端口了。连不上还有可能是 iptables 或者服务商的安全组的原因。CentOS 应该没有默认安装 ufw …
    shiji
        3
    shiji  
       2018-01-02 00:30:19 +08:00 via Android
    楼上言之有理。另外如果是 vps 的话,某些云服务商还在控制台里有安全组,相当于另外一层防火墙
    WordTian
        4
    WordTian  
       2018-01-02 00:37:54 +08:00 via Android
    防火墙 selinux
    patx
        5
    patx  
       2018-01-02 00:57:17 +08:00
    关闭防火墙,禁用 selinux
    MrMike
        6
    MrMike  
    OP
       2018-01-02 06:42:59 +08:00
    @patx
    @WordTian selinux 已经是禁用了的。
    MrMike
        7
    MrMike  
    OP
       2018-01-02 06:43:32 +08:00
    @zjp

    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1893/httpd
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1431/sshd
    tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2435/mysqld

    有监听的。
    MrMike
        8
    MrMike  
    OP
       2018-01-02 06:45:14 +08:00
    @zjp 服务器是阿里云的,这个没考虑到,稍后可以联系阿里云试试。
    squid157
        9
    squid157  
       2018-01-02 06:45:41 +08:00 via iPhone
    看服务商是不是有额外的安全组设置,aws 阿里云 都是默认有的
    defunct9
        10
    defunct9  
       2018-01-02 06:55:42 +08:00 via iPhone
    开 ssh 上去看看
    rogwan
        11
    rogwan  
       2018-01-02 07:20:38 +08:00 via Android
    如果安全组没有放行,肯定是访问不了的
    vimutt
        12
    vimutt  
       2018-01-02 08:21:32 +08:00 via iPhone
    bing-address 这个是 bind-address,你是笔误还是填错了
    yingfengi
        13
    yingfengi  
       2018-01-02 08:23:45 +08:00 via Android
    检查服务器上的防火墙和前端防火墙
    opengps
        14
    opengps  
       2018-01-02 08:31:01 +08:00
    综合 2 楼+3 楼,1,防火墙,2,安全组
    重点看看你的服务器是否安全组设置,如果是阿里云等云服务器用户,往往是不懂安全组导致的,可以近似的把安全组理解成硬件防火墙那样,不能从服务器内部去设置改变,从而安全
    AsisA
        15
    AsisA  
       2018-01-02 08:59:07 +08:00 via Android
    同楼上,可能被阿里云给拦截了,去阿里云控制台里看一下指定 ECS 的 3306 有没有开
    rainmakeroly
        16
    rainmakeroly  
       2018-01-02 09:06:46 +08:00 via Android
    登录阿里云后台后,安全组 添加策略,将 3306 添加进去就行了
    hardman
        17
    hardman  
       2018-01-02 09:08:50 +08:00
    防火墙,安全组
    MrVito
        18
    MrVito  
       2018-01-02 09:10:15 +08:00 via Android
    用 xshell 或者类似的软件打隧道可以解决
    hzwjz
        19
    hzwjz  
       2018-01-02 09:18:55 +08:00 via Android
    TCP through ssh 进行连接,可行?
    spkinger
        20
    spkinger  
       2018-01-02 09:19:12 +08:00
    很多 mysql 连接软件都支持先 ssh 隧道再 mysql 连接,
    linux 也可以将远端 3306 端口隧道到本地(此处映射到本地 3333 端口,mysql 可以直接连接 127.0.0.1:3333 )
    ssh -4 -fCNL 3333:127.0.0.1:3306 ssh 用户名 @主机 IP -o TCPKeepAlive=yes -o ServerAliveInterval=60 -o ServerAliveCountMax=3
    MrMike
        21
    MrMike  
    OP
       2018-01-02 09:33:10 +08:00
    @rainmakeroly
    @MrVito
    @hzwjz
    @spkinger
    @opengps
    @rogwan 谢谢各位朋友的回复,刚才已经设置好了,服务器是阿里云的专用网络,默认 3306 没有开启的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   949 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 21:22 · PVG 05:22 · LAX 14:22 · JFK 17:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.