Mysql之迂回连接术
转载请注明来源:https://www.cnblogs.com/Sherlock-L/p/14932870.html
关键词:OmniDB、Mysql Router
背景:项目的测试数据库放在了生产机器上,而公司忽然禁止办公网络访问生产机器上的数据库,那么就只能迂回访问了,摊手.jpg。
一、OmniDB
1.下载
虽然办公网络不能访问生产机器了,但是测试服务器可以呀,下载个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之迂回连接术的更多相关文章
- mysql优化之连接优化(open-files-limit与table_open_cache)
MySQL打开的文件描述符限制 Can't open file: '.\test\mytable.frm' (errno: 24) OS error code : Too many open file ...
- 解决Mysql连接池被关闭 ,hibernate尝试连接不能连接的问题。 (默认mysql连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池。系统发布第二天访问链接关闭问题。
解决Mysql连接池被关闭 ,hibernate尝试连接不能连接的问题. (默认MySQL连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池. 所以系统发布第二天访问会 ...
- php使用mysql和mysqli连接查询数据
mysql: <?php $code = $_POST['code']; $status = ""; $success = ""; $scookies = ...
- [转]配置mysql允许远程连接的方法
配置mysql允许远程连接的方法 vim /etc/my.cnf注释这一行:bind-address=127.0.0.1 ==> #bind-address=127.0.0.1保存退出.mysq ...
- paip.mysql 批量kill 连接.
paip.mysql 批量kill 连接. 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net ...
- MySQL数据库远程连接
12.00 MySQL数据库远程连接 参考: http://www.jb51.net/article/24508.htm http://www.linuxdiyf.com/viewarticle.ph ...
- mysql 不能远程连接
不想浪费大家时间,我这文章记录了我在vagrant上架的mysql远程连接不上的问题,不过我在整理时发现这个下面这个链接,如果我一开始能找到这个我就不会绕那么多弯了.不想看我是怎么一步步调错过程的请直 ...
- MySql实现远程连接
MySql实现远程连接 1.进入mysql,创建一个新用户root,密码为root: 格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密 ...
- Mysql命令行连接
mysql在线参考手册地址: http://dev.mysql.com/doc/refman/5.1/zh/tutorial.html#connecting-disconnecting 在linux平 ...
- Mysql 连接查询 Mysql支持的连接查询有哪些
CREATE TABLE `chx` ( `id` VARCHAR(20) NOT NULL, `name` VARCHAR(50) DEFAULT NULL, `name2` CHAR( ...
随机推荐
- wixtoolset visualstudio 2017打包流程(1)
第一步: 使用wix提供的 heat.exe 工具生成后缀为 wsx 的配置文件. heat.exe dir ".\binr" -dr INSTALLFOLDER -cg Pr ...
- immutable.js学习笔记(一)----- immutable.js 简介
一.Immutable.js 介绍 Immutable.js 官方文档 : https://immutable-js.github.io/immutable-js/ 关于Immutable的定义,官方 ...
- 【多线程】交替输出abc
package com.xf; public class WaitNotify { // 等待标记 private int flag; // 循环次数 private final int loopNu ...
- 数字游戏(NOIP 2003 PJT2)
一 原始数据处理 1.输入数据得到a[1]~a[n],复制扩展a[n+1]~a[2*n],以便处理不同点为起点出发. cin>>n>>m; for(int i=1;i<= ...
- 微信小程序【关于地址信息的接入以及自动选择当前位置】
在做收货地址的时候,通常会让用户填写或者打开地图选择收获地址,此时就需要用到微信提供的地址API,在使用地址API的时候需要注册对应的API,而且地址API会经常调整,需要关注官方公告,下面就是关于地 ...
- MySQL索引的基本理解
之前一致以为索引就是简单的在原表的数据上加了一些编号,让查询更加快捷.后来发现里面还有更深的知识. 索引用于快速查找具有特定列值的行.如果没有索引,MySQL 必须从第一行开始,然后通读整个表以找到相 ...
- 首个比较研究表明维持期强柱患者减量续用TNFi疗效尚佳且药费省
首个比较研究表明维持期强柱患者减量续用TNFi疗效尚佳且药费省 Zavada J, et al. Ann Rheum Dis. 2016,75: 96-102. 电邮发布日期: 2016年5月4日 关 ...
- layui 父子弹窗数据交互(包含子弹窗自己关闭并给父弹窗数据填充)
//父级弹窗 function showAlertOrg() { layui.use('layer', function () { var body; var index = layer.open({ ...
- LeetCode-475 供暖器
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/heaters 题目描述 冬季已经来临. 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖. ...
- 学习操作系统P3 多处理器编程:从入门到放弃 (线程库;现代处理器和宽松内存模型)
啊 啊 啊 啊 操作系统会自动把线程放置在不同的处理器上 可以用top观察CPU使用率 啊 啊 啊 啊 a 甚至连一个简单的求和程序都做不对 a 汇编语言中的 lock: CPU的特性,通过总线加锁, ...