产品在demo阶段,我们往往把各种服务都装在一台主机上面,如web服务,数据库服务等。但在生产环境上运行应用时,我们还是得把web服务和数据库服务分开。我们在使用Ucloud或阿里云提供的云数据库时,往往是不能直接在外网通过数据库管理工具(如:MysqlWorkBench)来管理数据库的,因为云数据库服务只提供给我们一个内网的ip。
鉴于MySQL实例不能通过外网IP直接访问,可使用MySQL-Proxy将MySQL实例跳转至云主机(UHost)的端口进行访问。今天我们先不谈MySQL-Proxy的读写分离的问题。
在云主机(UHost)安装MySQL-Proxy:
1 | yum install mysql-proxy |
也可以从官网下载解压后直接运行。
地址:http://dev.mysql.com/downloads/mysql-proxy/
安装结束后,可通过如下命令查看相关信息:
1 | mysql-proxy -V |
查看MySQL-Proxy帮助选项:
1 | mysql-proxy -help -all |
MySQL-Proxy默认端口为4040,通过访问4040端口就可以访问3306端口。
使用命令行开启MySQL-Proxy,步骤如下:
1 | touch /etc/mysql-proxy.cnf |
输入如下内容:
1 | [mysql-proxy] |
配置文件保存后需要改变权限:
1 | chmod 0660 /etc/mysql-proxy.cnf |
启动:
1 | mysql-proxy --defaults-file=/etc/mysql-proxy.cnf |
使用kill命令可以将程序终止。
在外网环境测试:
1 | mysql -h$uhost_ip -P4040 -u$User -p$Password |
$uhost_ip为UHost的外网IP。
注意:
需要在UCloud管理控制台中,打开云主机(UHost)的4040端口。