Mysql之迂回连接术

Mysql之迂回连接术

关键词:OmniDB、Mysql Router

背景:项目的测试数据库放在了生产机器上,而公司忽然禁止办公网络访问生产机器上的数据库,那么就只能迂回访问了,摊手.jpg。

一、OmniDB

1.下载

官网:omnidb.org

虽然办公网络不能访问生产机器了,但是测试服务器可以呀,下载个server版到测试服务器上,解压即可使用。

image.png
2.运行
nohup omnidb-server -H 0.0.0.0 -p 8090 &
复制代码

p.s.:起服务前先检查下端口是否被占用,sudo lsof -i:8090,别问为啥要sudo,不用root身份你查不完整端口占用情况 (•̀ᴗ•́)و

3.访问

可以在任何系统上使用浏览器进行ip+端口访问,默认账号和密码都是admin,且支持多用户。

image.png
4.使用

登录OmniDB后,Add Connection,新建一下目标数据库的连接,连上数据库后就是纯界面操作了,小白也可以轻易上手,这里不多做介绍了。

image.png Connection Type里可选的数据库类型有:

postgresql
mysql
mariadb
oracle
terminal
sqlite
复制代码

二、Mysql Router

1.简介

MySQL Router是MySQL官方提供的一个轻量级中间件,是InnoDB Cluster的一部分,可在应用程序和后端MySQL服务器之间提供透明路由。主要用以解决MySQL主从库集群的高可用、负载均衡、易扩展等问题。Router作为一个流量转发层,位于应用与MySQL服务器之间,其功能类似于LVS。

2.下载

官网:dev.mysql.com/downloads/r…

安装指引: dev.mysql.com/doc/mysql-r…

p.s.:其实下个压缩包直接解压就能用啦,同样的,找个能访问生产机器的测试服务器搞一波~

wget https://dev.mysql.com/get/Downloads/MySQL-Router/mysql-router-8.0.25-linux-glibc2.17-x86_64-minimal.tar.xz
tar -Jxvf mysql-router-8.0.25-linux-glibc2.17-x86_64-minimal.tar.xz
复制代码
leah@ubuntu:/opt/mysql-router-8.0.25-linux-glibc2.17-x86_64-minimal/bin$ export PATH=`pwd`:$PATH
leah@ubuntu:/opt/mysql-router-8.0.25-linux-glibc2.17-x86_64-minimal/bin$ mysqlrouter --version
MySQL Router  Ver 8.0.25 for Linux on x86_64 (MySQL Community - GPL)
复制代码
3.配置

mysqlrouter目录下有个配置文件例子sample_mysqlrouter.conf:

leah@ubuntu:/opt/mysql-router-8.0.25-linux-glibc2.17-x86_64-minimal/share/doc/mysqlrouter$ ls
INFO_BIN  INFO_SRC  sample_mysqlrouter.conf
复制代码

参考文件中的来配置就好了,由于我只是想通过服务器A来访问服务器B上的mysql,并不是真的要做什么负载均衡,所以这样配置就好啦:

# 一个高可用的标签

[routing:failover]

bind_address = 0.0.0.0 bind_port = 7001 max_connections = 1024 # 目前就支持两种 : read-write 和 read-only # read-write:用于高可用,用于可读可写 # read-only:用于负载均衡,只读 mode = read-write # 实际转发的地址 # 第一个socket如果可用,就一直会使用第一个 # 如果第一个socket无法连接了,才会连接到第二个socket destinations = 服务器地址:端口 复制代码

4.启动

偷个懒,直接改那份sample_mysqlrouter.conf的话,就是下面这样

nohup mysqlrouter --config /opt/mysql-router-8.0.25-linux-glibc2.17-x86_64-minimal/share/doc/mysqlrouter/sample_mysqlrouter.conf &
复制代码
5.连接mysql

DBeaver或者Navicat走起,这下可以访问数据库啦~

原创文章,作者:睿达君,如若转载,请注明出处:https://zrrd.net.cn/1913.html

发表回复

登录后才能评论
咨询电话
联系电话:0451-81320577

地址:哈尔滨市松北区中小企业总部基地13F

微信咨询
微信咨询
QQ咨询
分享本页
返回顶部