热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysqlproxy代理让内网数据库被有限制的访问

最近公司有个A高校的数据迁移需求,数据库为mysql和mongodb数据从原来A高校课程中心迁移到新平台,新平台为本公司平台本公司的数据库在内网,平时开放的时候需要安装vpn访问迁

最近公司有个 A高校 的数据迁移需求,数据库为mysql和mongodb




  • 数据从原来 A高校 课程中心迁移到 新平台,新平台为本公司平台

  • 本公司的数据库在内网,平时开放的时候需要安装vpn访问

  • 迁移数据时,需要在 A高校 的内网访问数据

  • A高校 无法访问外网(哈哈哈),只能开通到端的外网访问,也就是访问指定ip指定端口

这个需求本身还复杂很多,这里只是写一下解决这个数据访问的问题



  • 对外机器 外网ip 18.1136.1835.414 【仅为实例,非真实】

  • 内网数据库地址 mysql2.proxy.xx.com:1234 mysql登录账户 root 密码123456 【仅为实例,非真实】


下载mysql-proxy

https://downloads.mysql.com/archives/proxy/ 下载对应版本的gz

cd /opt
wget https://cdn.mysql.com/archives/mysql-proxy/mysql-proxy-0.8.5-linux-debian6.0-x86-64bit.tar.gz
tar -zxvf mysql-proxy-0.8.5-linux-debian6.0-x86-64bit.tar.gz
mv mysql-proxy-0.8.5-linux-debian6.0-x86-64bit mysql-proxy

编辑/etc/profile文件 在环境变量中加入一下

LUA_PATH="/opt/mysql-proxy/share/doc/mysql-proxy/?.lua"
export LUA_PATH
export PATH=$PATH:/usr/local/mysql-proxy/bin

执行一下 source /etc/profile 重新加载一下环境变量

接下来是mysql-proxy配置文件

mkdir -p /opt/mysql-proxy/conf
vim /opt/mysql-proxy/conf/mysql-proxy.conf

mysql-proxy.conf内容如下

[mysql-proxy]
daemon = true
pid-file = /var/run/mysql-proxy.pid
log-file = /var/log/mysql-proxy.log
log-level = debug
max-open-files = 1024
plugins = admin,proxy
user = root
proxy-address = 0.0.0.0:3307
proxy-backend-addresses = mysql2.proxy.xx.com:1234
admin-lua-script = /opt/mysql-proxy/lua/admin.lua
admin-username = root
admin-password = 123456


  • 含注释配置文件

[mysql-proxy]
daemon = true
pid-file = /var/run/mysql-proxy.pid
log-file = /var/log/mysql-proxy.log
log-level = debug
max-open-files = 1024
plugins = admin,proxy
user = root #当前启动服务的 Linux用户为root
proxy-address = 0.0.0.0:3307 #代理后mysql访问3307。所以最后我们访问的mysql就为 18.1136.1835.414:3307,账号、密码保持不变
proxy-backend-addresses = mysql2.proxy.xx.com:1234 #内网mysql的访问地址
admin-lua-script = /opt/mysql-proxy/lua/admin.lua
admin-username = root #内网mysql的访问用户
admin-password = 123456 #内网mysql的访问密码

修改mysql-proxy.conf权限,如果不修改后面会报错,需要660 的权限

chmod 660 mysql-proxy.conf


  • 启动mysql-proxy服务

/opt/mysql-proxy/bin/mysql-proxy --defaults-file=/opt/mysql-proxy/conf/mysql-proxy.conf

最后因为是阿里云的服务器,所以还得要去开放防火墙和安全组

netstat -tunlp 查看使用中的端口


tcp 0 0 0.0.0.0:4041 0.0.0.0:* LISTEN 12898/mysql-proxy
tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 12898/mysql-proxy

在安全组中允许4041 3307

最后就能使用外网访问了。再将ip和端口 18.1136.1835.414:3307 告诉 A高校 信息中心的人开放 该ip和端口的上行权限


你还可以在阿里云的安全组中限制访问端口4041 3307的IP,具体参考安全组的配置




推荐阅读
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • centos php部署到nginx 404_NodeJS项目部署到阿里云ECS服务器全程详解
    本文转载自:http:www.kovli.com20170919ecs-deploy作者:Kovli本文详细介绍如何部署NodeJS项目到阿里云ECS上, ... [详细]
  • 一、前言在数据库中,慢查询日志通常是用来进行优化数据库,MySQL中存在慢查询,Mongodb中也是如此。在Mongo中的慢查询属于Mon ... [详细]
  • 系统安装Debian系统的安装方式和Ubuntu系统的安装方式几乎是一样的,毕竟Ubuntu系统是基于Debian的,就如同CentOS基于Redhat ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • step1.为mongodb添加admin管理员root@12.154.29.163:~#mongoMongoDBshellversionv3.4.2connectingto:mo ... [详细]
  • Linux神奇漏洞:长按回车键70秒 即可轻松拿到Root权限
    一般来说获取系统root权限是很困难的,尤其是加密系统中,但西班牙安全研究员hectormarco、ismaelripoll发现,linux系统下只需按住回车键70秒钟,就能轻 ... [详细]
  • docker安装到基本使用
    记录docker概念,安装及入门日常使用Docker安装查看官方文档,在"Debian上安装Docker",其他平台在"这里查 ... [详细]
  • 1.淘宝模拟登录2.天猫商品数据爬虫3.爬取淘宝我已购买的宝贝数据4.每天不同时间段通过微信发消息提醒女友5.爬取5K分辨率超清唯美壁纸6.爬取豆瓣排行榜电影数据(含GUI界面版) ... [详细]
author-avatar
手机用户2502869023
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有