• 请不要在回答技术问题时复制粘贴 AI 生成的内容
imherer
V2EX  ›  程序员

MySQL 公网访问问题

  •  
  •   imherer · Jun 14, 2017 · 3586 views
    This topic created in 3428 days ago, the information mentioned may be changed or developed.
    我有多台 MySQL,只有一台云服务器( Linux )能访问他们。因为经常要导数据什么,在云服务器上命令操作很不方便,于是就想用这台云服务器做个 proxy,能让外网访问(为了安全,这台云服务器访问也做了 IP 限制的)

    现在不知道这个 proxy 怎么做?
    端口转发可以吗?试了没成功。

    找了下好像 mysql-proxy 可以实现,但是好像这个是不是只能 proxy 一个地址啊,能同时 proxy 多台 MySQL 吗?
    Supplement 1  ·  Jun 14, 2017
    想多了。
    按照 5L 的做法,什么都不用做,直接就可以连 😄
    18 replies  •  2017-06-15 00:05:49 +08:00
    pengdu
    pengdu
    Jun 14, 2017
    1
    不知道 phpMyAdmin 能不能满足你的需求
    imherer
    imherer
    OP
    Jun 14, 2017
    2
    @pengdu 😳 我怎么把这个给忘了。 这个应该可以。 我试试
    strawhat7
    strawhat7
    Jun 14, 2017❤️1
    3
    你可以在这台 Linux 服务器上用 iptables 做端口转发
    234747005
    234747005
    Jun 14, 2017❤️1
    4
    用 haproxy 做 tcp 端口代理,在自己的电脑用 Navicat 连接 haproxy 代理的端口。
    cnwtex
    cnwtex
    Jun 14, 2017❤️2
    5
    navicat 新建链接的时候,后面有个 ssh 选项,勾上隧道,输自己的用户名密码
    raysonx
    raysonx
    Jun 14, 2017❤️2
    6
    将 MySQL 服务开放到公网是作死的节奏。不要折腾奇怪的软件,建议用 SSH 隧道来代理,安全、方便。

    1.先在本地开 SSH 隧道:
    ssh -L <本地端口>:<数据库主机名 /IP>:<数据库端口号> <SSH 用户名>@<云服务器主机名>
    2. 本地连接代理:
    mysql -h localhost -P <本地端口>
    Light3
    Light3
    Jun 14, 2017❤️2
    7
    phpMyAdmin 自己记得设 只有你这个 ip 能登.. 要不然 分分钟跑路..
    lilydjwg
    lilydjwg
    Jun 14, 2017❤️1
    8
    ssh 端口转发啊。
    johnlui
    johnlui
    Jun 14, 2017❤️1
    9
    最简单的方法:搜 Nginx TCP proxy
    johnlui
    johnlui
    Jun 14, 2017❤️1
    10
    我以前也用过 mysql-proxy 这类的专用代理,但是最后想了想数据库是基于 TCP 提供服务的,直接 Nginx 做 TCP 反向代理不就行了,试了下,还真好用!一共也没几行代码,也支持回源地址用域名,mysql-proxy 连域名都不支持你敢信,用阿里云的都懂。
    imherer
    imherer
    OP
    Jun 14, 2017
    11
    @raysonx 目前只有那台云服务器能访问数据,用 SSH 隧道后可以直接在我本地访问数据库吗?
    40huo
    40huo
    Jun 14, 2017❤️1
    12
    @imherer #11 可以,MySQL 只开 localhost 都可以用 SSH 访问。
    sparkssssssss
    sparkssssssss
    Jun 14, 2017 via iPhone❤️1
    13
    ssh 做端口映射到本机,然后本地就可以直接访问了啊
    artandlol
    artandlol
    Jun 14, 2017 via Android❤️1
    14
    不需要 root 密码的情况下用 iptables 只允许特定 ip 访问
    nicevar
    nicevar
    Jun 14, 2017
    15
    确实不要开启公网访问,每天遭受的尝试攻击超过你的想象
    imherer
    imherer
    OP
    Jun 14, 2017
    16
    @nicevar 做了访问 IP 限制的,应该还好吧?
    nicevar
    nicevar
    Jun 14, 2017
    17
    @imherer 嗯,限制 ip 倒是没有问题
    timothyye
    timothyye
    Jun 15, 2017
    18
    用 ssh 转发就行了,方法参考 6 楼
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1369 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 22:12 · PVG 06:12 · LAX 14:12 · JFK 17:12
    ♥ Do have faith in what you're doing.