转载请注明来源:https://www.cnblogs.com/Sherlock-L/p/14932870.html

关键词:OmniDB、Mysql Router

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

一、OmniDB

1.下载

官网:https://omnidb.org

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

2.运行

nohup omnidb-server -H 0.0.0.0 -p 8090 &

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

3.访问

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

4.使用

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

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

postgresql
mysql
mariadb
oracle
terminal
sqlite

二、Mysql Router

1.简介

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

2.下载

官网:https://dev.mysql.com/downloads/router/

安装指引: https://dev.mysql.com/doc/mysql-router/8.0/en/mysql-router-installation.html

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://www.cnblogs.com/Sherlock-L/p/14932870.html

Mysql之迂回连接术的更多相关文章

  1. mysql优化之连接优化(open-files-limit与table_open_cache)

    MySQL打开的文件描述符限制 Can't open file: '.\test\mytable.frm' (errno: 24) OS error code : Too many open file ...

  2. 解决Mysql连接池被关闭 ,hibernate尝试连接不能连接的问题。 (默认mysql连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池。系统发布第二天访问链接关闭问题。

    解决Mysql连接池被关闭  ,hibernate尝试连接不能连接的问题. (默认MySQL连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池. 所以系统发布第二天访问会 ...

  3. php使用mysql和mysqli连接查询数据

    mysql: <?php $code = $_POST['code']; $status = ""; $success = ""; $scookies = ...

  4. [转]配置mysql允许远程连接的方法

    配置mysql允许远程连接的方法 vim /etc/my.cnf注释这一行:bind-address=127.0.0.1 ==> #bind-address=127.0.0.1保存退出.mysq ...

  5. paip.mysql 批量kill 连接.

    paip.mysql 批量kill 连接. 作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.net ...

  6. MySQL数据库远程连接

    12.00 MySQL数据库远程连接 参考: http://www.jb51.net/article/24508.htm http://www.linuxdiyf.com/viewarticle.ph ...

  7. mysql 不能远程连接

    不想浪费大家时间,我这文章记录了我在vagrant上架的mysql远程连接不上的问题,不过我在整理时发现这个下面这个链接,如果我一开始能找到这个我就不会绕那么多弯了.不想看我是怎么一步步调错过程的请直 ...

  8. MySql实现远程连接

    MySql实现远程连接 1.进入mysql,创建一个新用户root,密码为root: 格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密 ...

  9. Mysql命令行连接

    mysql在线参考手册地址: http://dev.mysql.com/doc/refman/5.1/zh/tutorial.html#connecting-disconnecting 在linux平 ...

  10. Mysql 连接查询 Mysql支持的连接查询有哪些

    CREATE TABLE `chx` (   `id` VARCHAR(20) NOT NULL,   `name` VARCHAR(50) DEFAULT NULL,   `name2` CHAR( ...

随机推荐

  1. Spring Boot启动时执行初始化操作三种方法分享

    @PostConstruct对于注入到Spring容器中的类,在其成员函数前添加@PostConstruct注解,则在执行Spring beans初始化时,就会执行该函数.但由于该函数执行时,其他Sp ...

  2. 从零开始,打造属于你的 ChatGPT 机器人!

    大家好!我是韩老师. 不得不说,最近 OpenAI/ChatGPT 真的是太火了. 前几天,微软宣布推出全新的 Bing 和 Edge,集成了 OpenAI/ChatGPT 相关的技术,带动股价大涨: ...

  3. 真正“搞”懂HTTP协议14之HTTP3

    我们前一篇学习了HTTP/2,相比于HTTP/1,HTTP/2在性能上有了大幅的改进,但是HTTP/2因为底层还是基于TCP协议的,虽然HTTP/2在应用层引入了流的概念,利用多路复用解决了队头阻塞的 ...

  4. 真正“搞”懂HTTPS协议18之TLS特性解析

    上一篇,我们讲了TLS的握手过程,我们参照的版本其实是TLS1.2.这个协议是2008年的老协议了,虽然它的价值不言而喻,但是毕竟年纪大了,不太能跟得上时代了.所以,经历了诸多磨难的TLS1.3在20 ...

  5. 微信小程序-【转发好友】以及中文标题乱码问题解决

    微信小程序的转发功能,参考官方文档,使用的buttom的open-type功能,下面是转发功能的具体实现. // 通过按钮的 open-type="share"实现转发,触发onS ...

  6. 研发效能DevOps推荐书单

    专注 300 页之内的经典书籍推荐 研发效能涉及的知识很多,从大的方向去划分包括制度.组织.平台.运营等:单从软件研发的角度去看也包括很多,包括最底层的软工认知.实践,到团队管理和组织.敏捷研发,项目 ...

  7. LG P4173 残缺的字符串

    \(\text{Problem}\) 大概就是带通配符的字符串匹配问题,输出所有比配位置 \(1\le n \le 3\times 10^5\) \(\text{Solution}\) 这是 \(FF ...

  8. 在windows环境中如何批量添加IP地址 and 求助 : 在CMD命令行中配置IP地址, 提示 : 未能配置DHCP服务, 接口可能已经断开, 系统找不到指定的文件.

    转载csdn: 在windows环境中如何批量添加IP地址_user_yuewu的博客-CSDN博客_windows批量添加ip 求助 : 在CMD命令行中配置IP地址, 提示 : 未能配置DHCP服 ...

  9. Cobalt Strike 之:提权

    郑重声明: 本笔记编写目的只用于安全知识提升,并与更多人共享安全知识,切勿使用笔记中的技术进行违法活动,利用笔记中的技术造成的后果与作者本人无关.倡导维护网络安全人人有责,共同维护网络文明和谐. Co ...

  10. 嵌入式Linux—输入子系统

    输入系统 常见的输入设备有键盘.鼠标.遥控杆.书写板.触摸屏等等,用户通过这些输入设备与Linux系统进行数据交换. 内核中怎样表示一个输入设备 // include/linux/input.h st ...