通过公网MySql Router 访问私网服务器的MySql 数据库

时间:2024-04-06 13:01:04

因数据库安全要求,数据库服务器在私网上,只有一台公网服务器,由于环境要求,外网系统必须使用代理访问数据库。考虑该要求后,确定使用MySql Router来进行代理访问

一、从官网下载最新MySql Router

地址:https://dev.mysql.com/downloads/router/

通过公网MySql Router 访问私网服务器的MySql 数据库

环境配置:

操作系统:CentOS 7

数据库:MySql 8

代理:MySql Router 8

公网服务器IP:110.129.50.10(乱写的,做参考)

私网服务器IP:192.168.56.100(乱写的,做参考)(这里是数据库已搭建的服务器)

二、拷贝,解压文件

从管网下载好:mysql-router-8.0.13-linux-glibc2.12-x86_64.tar.xz 拷贝到公网服务器上,解压。

解压

通过公网MySql Router 访问私网服务器的MySql 数据库

解包:

通过公网MySql Router 访问私网服务器的MySql 数据库

得到文件:

通过公网MySql Router 访问私网服务器的MySql 数据库

三、创建必要的文件夹,复制安装和配置文件到指定目录

建立对应文件夹

通过公网MySql Router 访问私网服务器的MySql 数据库

拷贝MySql Router软件到指定目录

通过公网MySql Router 访问私网服务器的MySql 数据库

建立连接文件到操作系统启动程序文件夹

通过公网MySql Router 访问私网服务器的MySql 数据库

给安装文件夹赋予指定的权限

通过公网MySql Router 访问私网服务器的MySql 数据库

初始化环境变量

通过公网MySql Router 访问私网服务器的MySql 数据库

复制配置文件到你想放的位置

通过公网MySql Router 访问私网服务器的MySql 数据库

四、修改配置文件

vi mysqlrouter.conf

[DEFAULT]
logging_folder = /data/mysql-router/log
plugin_folder = /data/servers/mysql-router/lib/mysqlrouter
config_folder = /etc/mysql-router
runtime_folder = /usr/local/mysqlrouter/run

[logger]
level = INFO

[routing:read_write]
bind_address=110.129.50.10
bind_port = 7001
mode = read-write
destinations = 192.168.56.100:3306
max_connections = 65535
max_connect_errors = 100
connect_timeout = 3
client_connect_timeout = 9

/*---------------因为不搭建主备库,只是做为公网服务器跳转使用,所以这里参数不用配置-----------------------------
#[routing:read_only]

#bind_address = XXXXXXXXX
#bind_port = 7002

#mode = read-only

#destinations = XXXXXXX:3306,XXXXXXX:3306

#max_connections = 65535

#max_connect_errors = 100

#client_connect_timeout = 9
-------------------------------------------------*/

[keepalive]
interval = 60

五、启动MySql Router ,并且访问路由的地址端口,看是否能进入私网数据库

通过公网MySql Router 访问私网服务器的MySql 数据库

查看进程正常,日志正常。发现没有问题。

通过公网MySql Router 访问私网服务器的MySql 数据库

通过7001端口访问,测试成功。

通过公网MySql Router 访问私网服务器的MySql 数据库

MySql Router后期可以改成做MySql 数据库Innodb集群的代理,可以做读写库分离的操作。