首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏不想当开发的产品不是好测试

    mysql-proxy 简介

    # 背景 今天同事分享的主题就是mysql-proxy,于是下来自己了解下,不求精通,只求知道这个玩意 # 简介 mysql-proxy是mysql官方提供的mysql中间件服务,上游可接入若干个mysql-client 它使用mysql协议,任何使用mysql-client的上游无需修改任何代码,即可迁移至mysql-proxy上。 mysql-proxy最基本的用法,就是作为一个请求拦截,请求中转的中间层: ? 、 进一步的,mysql-proxy可以分析与修改请求。拦截查询和修改结果,需要通过编写Lua脚本来完成。 mysql-proxy允许用户指定Lua脚本对请求进行拦截,对请求进行分析与修改,它还允许用户指定Lua脚本对服务器的返回结果 进行修改,加入一些结果集或者去除一些结果集均可。 所以说,根本上,mysql-proxy是一个官方提供的框架,具备良好的扩展性,可以用来完成: sql拦截与修改 性能分析与监控 读写分离 请求路由 # 用途 1.

    1.5K50发布于 2018-03-28
  • 来自专栏Laoqi's Linux运维专列

    使用mysql-proxy配置mysql读写分离

    4.3 配置mysql-proxy mysql-proxy自带读写分离脚本,我们还需要修改一下 cp /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua /usr/local/mysql-proxy/lib/mysql-proxy/lua/ 修改读写分离脚本: vim /usr/local/mysql-proxy/lib/mysql-proxy/lua package.path: /usr/local/mysql-proxy/lib/mysql-proxy/lua/?. lua;/usr/local/mysql-proxy/lib/mysql-proxy/lua/?. ps aux |grep "mysql-proxy" killall -9 mysql-proxy 五、读写分离测试 5.1、创建并授权MYSQL-PROXY登录用户 登录master 和 slave

    1.8K80发布于 2018-05-09
  • 来自专栏开源部署

    MySQL主从复制 mysql-proxy实现读写分离

    实现读写分离 下载mysql-proxy https://downloads.mysql.com/archives/proxy/ 解压并配置mysql-proxy # tar zxvf mysql-proxy =/usr/local/mysql-proxy/mysql-proxy-0.8.5-linux-el6-x86-64bit/share/doc/mysql-proxy/admin-sql.lua #指定管理脚本 ,改为1 max_idle_connections = 1, mysql-proxy的bin目录下启动mysql-proxy # . 主库: 从库: mysql-proxy: 停止从库的docker容器,通过mysql-proxy插入一条数据,主库中刷新也有新增的数据,写分离验证成功。 mysql-proxy: 主库: 从库: 至此,mysql的主从复制已经通过mysql-proxy实现读写分离已实现。

    76320编辑于 2022-08-17
  • 来自专栏sktj

    Altas mysql-proxy读写分离中间件

    https://github.com/Qihoo360/Atlas/releases image.png rpm -ivh Atlas-2.2.el6.x86_64.rpm /usr/local/mysql-proxy cd /usr/local/mysql-proxy/conf vim test.cnf [mysql-proxy] 带#号的为非必需的配置项目 管理接口的用户名 admin-username = 8 日志级别,分为message、warning、critical、error、debug五个级别 log-level = message 日志存放的路径 log-path = /usr/local/mysql-proxy /mysql-proxyd test start 在这个目录下有mysql-proxy mysql-proxyd, 第一个是mysql团队的, 第二个是属于360团队的, 我们使用的是360的。 admin -padmin -P 2345 -h 192.168.99.60 mysql -u admin -padmin -P 1234 -h 192.168.99.60 日志/usr/local/mysql-proxy

    48430编辑于 2022-05-14
  • 来自专栏解Bug之路

    MySql-Proxy之多路结果集归并 顶

    MySql-Proxy之多路结果集归并 笔者觉得Cobar之类的分库分表最神奇的部分就是靠一条sql查询不同schema下(甚至不同实例下)的不同的表。

    2K40发布于 2018-08-14
  • 来自专栏LanceToBigData

    MySQL集群(三)mysql-proxy搭建负载均衡与读写分离

    一、mysq-proxy简介与安装 1.1、mysql-proxy简介   mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等   MySQL Proxy 我们可以通过mysql-proxy -V查看是否配置成功。   ? 二、使用mysql-proxy实现负载均衡   那我们该怎么去配置负载均衡呢? /bin/bash /opt/mysql-proxy/bin/mysql-proxy \ --proxy-address=1.0.0.3:4040 \ #这个是安装mysql-proxy的主机上的ip 两个都是一样的,说明主主复制的两个集群,使用mysql-proxy管理成功! 总结:在这个负载均衡当中,其实就是使用mysql-proxy均衡两个MySQL服务器的连接数。 :sudo killall mysql-proxy #!

    2.6K100发布于 2018-01-18
  • 来自专栏架构师之路

    mysql-proxy数据库中间件架构 | 架构师之路

    一、mysql-proxy简介 mysql-proxy是mysql官方提供的mysql中间件服务,上游可接入若干个mysql-client,后端可连接若干个mysql-server。 它使用mysql协议,任何使用mysql-client的上游无需修改任何代码,即可迁移至mysql-proxy上。 mysql-proxy最基本的用法,就是作为一个请求拦截,请求中转的中间层: ? 进一步的,mysql-proxy可以分析与修改请求。拦截查询和修改结果,需要通过编写Lua脚本来完成。 二、mysql-proxy架构与原理 如“简介”中所述,mysql-proxy向用户提供了6个hook点,让用户实现Lua脚本来完成各种功能,这些hook点是以函数的形式提供的,用户可以实现这些函数,在不同事件 案例四:性能水平扩展 mysql-proxy启动时,通过参数配置多个后端,即可实现性能的水平扩展,无需修改任何代码: shell> mysql-proxy \ --proxy-backend-addresses

    2.3K60发布于 2018-03-01
  • 来自专栏FreeBuf

    通过MySQL-Proxy实现MySQL数据库的认证、授权与审计

    无意中发现mysql-proxy居然预留了6个钩子允许用户通过Lua脚本去调用他们,也就是说我们可以自行编写Lua脚本来掌握“用户的命运”。 2.用户使用mysql客户端连接指定的mysql-proxy,此时进入read_auth钩子函数,先对用户提交的口令进行确认。 显然,使用用户名test登录mysql-proxy,最终跳转到mysql上时用户已经变为developer。 0x05 总结 用于非业务场景连接数据库,比如开发运维人员在公司连接数据库。 管理脚本需要监控每个mysql-proxy进程的状态,负责他们的启动和停止,以及将他们的域名解析为ip存入redis中。 授权脚本读取一个yaml文件,将文件中的授权规则同步到redis中。 mysql-proxy需要使用源码编译安装。 启动mysql-proxy的命令为: ?

    2.3K00发布于 2018-07-30
  • 来自专栏老男孩成长之路

    Linux下的MySQL Proxy 读写分离该怎么操作?

    MySQL-Proxy简介 mysql-proxy是mysql官方提供的mysql中间件服务,上游可接入若干个mysql-client,后端可连接若干个mysql-server。 它使用mysql协议,任何使用mysql-client的上游无需修改任何代码,即可迁移至mysql-proxy上。mysql-proxy最基本的用法,就是作为一个请求拦截,请求中转的中间层: ? 进一步的,mysql-proxy可以分析与修改请求。拦截查询和修改结果,需要通过编写Lua脚本来完成。 /share/doc/mysql-proxy/rw-splitting.lua #lua位置 log-file=/cyb/soft/mysql-proxy/log/mysql-proxy.log 修改rw-splitting.lua vim /cyb/soft/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua ? ?

    2.5K30发布于 2020-06-23
  • 来自专栏同步博客

    MySQL读写分离

    # cp ./ mysql-proxy-0.8.5-linux-rhel5-x86-64bit/* /usr/local/mysql-proxy # cd /usr/local/mysql-proxy mysql-proxy #mkdir /usr/local/mysql-proxy/run #mkdir /usr/local/mysql-proxy/log #cd /usr/local/mysql-proxy /init.d/ #---启动mysql-proxy #. /mysql-proxy start #---停止mysql-proxy #./mysql-proxy stop #---重启mysql-proxy #. /mysql-proxy restart 一些相关参数: PROXY_PATH=/usr/local/mysql-proxy/bin //定义mysql-proxy服务二进制文件路径 --proxy-read-only-backend-addresses

    3K61发布于 2018-08-22
  • 来自专栏全栈程序员必看

    Centos7配置MySQL读写分离[通俗易懂]

    即将使用mysql-proxy进行读写分离,配置192为proxy,写82读83。 mysql-proxy mysql-proxy是一个处于客户端和服务器之间的中间件,它可以检测,分析或改变它们的通信。 对于应用来说只需要连接到mysql-proxy的监听端口即可(默认4040) 下载mysql-proxy https://downloads.mysql.com/archives/proxy/ 根据系统选择 新建文件夹 1 2 mkdir /usr/local/mysql-proxy/lua 创建脚本存放目录 mkdir /usr/local/mysql-proxy/logs 创建日志目录 复制配置文件 | grep 4040 #已经启动 killall -9 mysql-proxy #关闭mysql-proxy使用 测试读写分离 创建Proxy用户 在主服务器创建Proxy用户用户mysql-proxy

    57720编辑于 2022-09-02
  • 来自专栏Node开发

    Mysql读写分离

    我们可以使用mysql-proxy中间件实现Mysql的读写分离,mysql-proxy在这里是作为什么角色呢? mysql-proxy来处理就可以了。 /local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua ? mysql-proxy执行流程简析 我们这里测试是为了方便采取一主一从的架构去测试,但是很多时候后端Mysql服务不止一个,我们最后来大致了解下mysql-proxy的工作流程: 实际上客户端向mysql-proxy 用户进行账号权限验证时传递账号密码等信息,mysql-proxy会调用read_auth()函数,当后端mysql服务向mysql-proxy认证结果时,mysql-proxy则会调用read_auth_result

    3.1K10发布于 2019-10-22
  • 来自专栏全栈工程师修炼之路

    MYSQL数据库读写分离实例

    据网上很多人说mysql-proxy的性能不高。 killall -9 mysql-proxy #关闭mysql-proxy使用 4.或者创建mysql-proxy服务管理脚本 $vi /etc/init.d/mysql-proxy #! /etc/rc.d/init.d/functions #定义mysql-proxy服务二进制文件路径 PROXY_PATH=/opt/mysql-proxy/bin prog="mysql-proxy /lib/mysql-proxy/lua/admin.lua" #pid文件路径 PROXY_PID=/opt/mysql-proxy/mysql-proxy.pid # Source mysql-proxy 操作实例 mysql-proxy读写分离的流程步骤: 当在mysql-proxy插入数据时写入到了master上,查询数据是从slave上查看插入主库数据,停止主从后当在slave上插入数据,在mysql-proxy

    6.1K20编辑于 2022-09-28
  • 来自专栏OpenCloudOS社区

    OpenCloudOS 如何以最小成本,高效定位内存泄露路径?

    全量内存分配火焰图执行以下命令,追踪 mysql-proxy 进程所有 malloc 及其变体调用 60s,并生成全量内存分配火焰图。# 步骤 1. /memstacks -p $(pgrep -nx mysql-proxy) -af 60 > all_mallocs.stacks# 步骤 2. memstacks -p $(pgrep -nx mysql-proxy) -f 60 > unfreed_mallocs.stacks# 步骤 2. 其中,据研发反馈,tdsql::Item_param::set_str 正是导致 mysql-proxy 内存泄露发生的地方。而另一处并非真正的泄露。 缺页异常火焰图(现有版)执行以下命令,追踪 mysql-proxy 进程所有缺页事件 60s,并生成缺页异常火焰图。

    1.2K11编辑于 2023-03-02
  • 来自专栏架构师之路

    数据库中间件mysql-proxy细节【mysql官方的中间件】

    一、mysql-proxy简介 mysql-proxy是mysql官方提供的mysql中间件服务,上游可接入若干个mysql-client,后端可连接若干个mysql-server,它使用mysql协议 ,任何连接mysql的上游无需任何更改即可迁移至mysql-proxy上。 mysql-proxy最基本的用法,就是作为一个请求拦截,请求中转的中间层: ? 进一步的,mysql-proxy可以分析与修改请求。拦截查询和修改结果,需要通过编写Lua脚本来完成。 /mysql-proxy --defaults-file=. /mysql-proxy --help ./mysql-proxy --help-all Proxy常用选项 说明 注意: 如果设置了多个后端mysql,负载均衡策略为round-robin。

    10.2K41发布于 2018-02-28
  • 来自专栏散尽浮华

    Mysql读写分离方案-MySQL Proxy环境部署记录

    /bin/bash # # mysql-proxy This script starts and stops the mysql-proxy daemon # # chkconfig: - 78 30 # processname: mysql-proxy # description: mysql-proxy is a proxy daemon for mysql # Source function mysql-proxy configuration. if [ -f /etc/sysconfig/mysql-proxy ]; then . ="/usr/local/mysql-proxy/share/doc/mysql-proxy/admin.lua" PROXY_ADDRESS="" PROXY_USER="mysql-proxy" PROXY_OPTIONS 6)启动mysql-proxy [root@proxy-node ~]# service mysql-proxy start Starting /usr/local/mysql-proxy/bin/mysql-proxy

    2.2K80发布于 2018-01-23
  • 来自专栏山山仙人的专栏

    MySQL工具Atlas的安装使用

    查看当前用 4.4.3 增加Atlas用户 作者:AshesCat 1、介绍 Atlas是由Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目 它是在mysql-proxy /conf/ [root@db3 conf]# mv test.cnf test.cnf.bak [root@db3 conf]# vim test.cnf [mysql-proxy] admin-username ]# /usr/local/mysql-proxy/bin/mysql-proxyd test start OK: MySQL-Proxy of test is started [root@db3 mysql-proxy 00:00:00 /usr/local/mysql-proxy/bin/mysql-proxy --defaults-file=/usr/local/mysql-proxy/conf/test.cnf 00:00:00 /usr/local/mysql-proxy/bin/mysql-proxy --defaults-file=/usr/local/mysql-proxy/conf/test.cnf

    95920发布于 2021-08-31
  • 来自专栏Laoqi's Linux运维专列

    Mysql 中间件 Atlas MySQL

    它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。 A: 这是我们对原版MySQL-Proxy的第一项改进,符合国情是必须的 Q: 自动读写分离挺好,但有时候我写完马上就想读,万一主从同步延迟怎么办? 能问这样的问题, 说明你用过官方的mysql-proxy, 很遗憾官方版本并未解决这个问题 Q: 检测后端DB状态会阻塞正常请求么? A: 通过管理接口可以轻松实现 Q: 相比官方mysql-proxy, atlas还有哪些改进? = user    #管理接口的用户名 admin-password = pwd    #管理接口的密码 admin-lua-script = /usr/local/mysql-proxy/lib/mysql-proxy

    1.9K40发布于 2018-05-31
  • 来自专栏【腾讯云开发者】

    内存泄露?腾讯工程师2个压箱底的方法和工具

    本文特别邀请到了腾讯后台开发工程师邢孟棒以 TDSQL实际生产中mysql-proxy内存泄露问题作为分析对象,分享其基于动态追踪技术的通用内存泄露(增长)分析方法。 背景 某个 TDSQL 私有化环境中, 中间件 mysql-proxy 进行大量请求转发时,内存占用量持续增长导致 OOM 现象,最终影响了用户业务的正常使用 。 /memstacks -p $(pgrep -nx mysql-proxy) -af 60 > all_mallocs.stacks # 步骤 2. 其中,据研发反馈,tdsql::Item_param::set_str 正是导致 mysql-proxy 内存泄露发生的地方。而另一处并非真正的泄露。 缺页异常火焰图(现有版) 执行以下命令,追踪 mysql-proxy 进程所有缺页事件 60s,并生成缺页异常火焰图。

    1.2K20编辑于 2022-12-23
  • 来自专栏开源部署

    CentOS 7.2下MySQL读写分离配置

    下载mysql-proxy 下载:http://dev.mysql.com/downloads/mysql-proxy/ wget https://downloads.mysql.com/archives ** 配置mysql-proxy,创建主配置文件** cd /usr/local/mysql-proxy mkdir lua #创建脚本存放目录 mkdir logs #创建日志目录 cp share /doc/mysql-proxy/rw-splitting.lua  . /lua #复制读写分离配置文件 vi /etc/mysql-proxy.cnf  #创建配置文件 [mysql-proxy] user=root #运行mysql-proxy用户 admin-username #已经启动killall -9 mysql-proxy #关闭mysql-proxy

    60120编辑于 2022-08-17
领券