外网如何访问UCloud UDB

如题。UDB好像是内网隔离的,外网该如何访问?

阅读 6.9k
1 个回答

首先您需要正在使用UCloud云主机(uhoust)以及云数据库(udb)。

鉴于udb无外网ip不能直接访问,可利用mysql-proxy将udb跳转到云主机的某一端口上进行访问,方便客户操作。

  • 安装mysql-proxy

    yum install mysql-proxy

    安装完毕后:mysql-proxy -V 可看相关信息

    mysql-proxy 0.8.2
    
    chassis: mysql-proxy 0.8.2
    
    glib2: 2.22.5
    
    libevent: 1.4.13-stable
    
    LUA: Lua 5.1.4
    
    package.path: /usr/lib64/mysql-proxy/lua/?.lua
    
    package.cpath: /usr/lib64/mysql-proxy/lua/?.so
    
    -- modules
    
    proxy: 0.8.2
  • 配置mysql-proxy

    大家也可以mysql-proxy -help-all查看它的帮助选项

    此服务默认缺省端口为4040 也就是通过访问4040就能访问目标3306

    可以直接命令开启服务,不过推荐使用配置文件,步骤如下:

    touch /etc/mysql-proxy.cnf
    
    vim /etc/mysql-proxy.cnf
    

输入如下内容::

[mysql-proxy]
admin-username=root    #admin用户名
admin-password=123fsck    #admin密码
admin-lua-script=/usr/lib64/mysql-proxy/lua/admin.lua    #lua位置,参见上面的版本信息
daemon=true        # mysql-proxy以守护进程方式运行
keepalive=true        #保持连接启动进程会有2个, 一号进程用来监视二号进程
proxy-backend-addresses=10.6.X.XX  #目标地址,udb内网地址,默认端口3306
log-file=/var/log/mysql-proxy.log
log-level=debug

写好配置文件保存后需要改变权限

chmod 0660 /etc/mysql-proxy.cnf

启动:执行配置文件

命令:

mysql-proxy --defaults-file=/etc/mysql-proxy.cnf

若关闭kill命令把程序终止

测试:

在外网环境

mysql -u root -p -P 4040 -h host

host为uhoust外网ip

需要在UCloud管理控制台中 打开云主机4040端口。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进