• 关于Mysql Proxy LUA实现Mysql读写分离


    关于Mysql Proxy LUA读写分离是本文要介绍的内容,主要是来了解Mysql Proxy LUA的学习内容,具体内容来看本文详解,先来下载匹配的版本:

    1. http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/  

    下载最新版的二进制版本以mysql-proxy-0.8.0-linux-glibc2.3-x86-32bit为例。www.lua.org 下载lua。

    1.通过mysql代理mysql-proxy来实现mysql的读写分离

    MySQL Proxy 安装地址:192.168.0.234(写,也可将mysql-proxy安装在第三台服务器上)

    MySQL 服务器地址:192.168.0.235(读)

    2.安装mysql-proxy

    1. apt-get install mysql-proxy 

    这样安装好之后在/usr/lib/mysql-proxy/lua/proxy/里面是没有rw-splitting.lua文件的,将下载导的lua二进制版本里面share/doc/mysql-proxy/下面的rw-splitting.lua这个文件拷贝到/usr/lib/mysql-proxy/lua/proxy/

    3.启动mysql-proxy

    若不存在则创建mysql-proxy日志目录  mkdir /var/log/mysql-proxy/

    启动mysql-proxy命令:

    1. mysql-proxy --proxy-read-only-backend-addresses=192.168.0.235:3306 
    2. --proxy-backend-addresses=192.168.0.234:3306 
    3. --proxy-lua-script=/usr/lib/mysql-proxy/lua/proxy/rw-splitting.lua > /var/log/mysql-proxy/mysql-proxy.log &  

    启动状态:

    1. root@ubuntu:~# mysql-proxy --proxy-read-only-backend-addresses=192.168.0.235:3306 
    2. --proxy-backend-addresses=192.168.0.234:3306 
    3. --proxy-lua-script=/usr/lib/mysql-proxy/lua/proxy/rw-splitting.lua > /var/log/mysql-proxy/mysql-proxy.log &  
    4. [1] 1584  
    5. root@ubuntu:~# 2010- 03-11 01:53:36: (warning) g_set_prgname() called multiple times  
    6. 2010-03-11 01:53:36: (critical) chassis.c:980: could not raise RLIMIT_NOFILE to 8192, 
    7. Invalid argument (22). Current limit still 13214421558589654016. 

    然后查看端口,mysql-proxy默认端口是4040和4041

    1. lsof -i:4040  
    2.  
    3. root@ubuntu:~# lsof -i:4040  
    4. COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME  
    5. mysql-pro 1584 root    7u  IPv4   6018      0t0  TCP *:4040 (LISTEN) 

    这样就表示mysql-proxy已经启动成功。

    乱码处理在配置文件my.conf里server-id下面加入

    1. skip-character-set-client-handshake  
    2. init-connect='SET NAMES utf8' 
    3. default-character-set=utf8   
  • 相关阅读:
    如何在Element 使用正则表达式校验
    Vs Code 微信小程序 神兵利器合集
    分享CSS公共类库(能在项目快捷使用CSS类)
    Element+Axios上传图片 OR 文件
    两种简洁的数组对象去重姿势
    VScode 格式化代码保存时使用ESlint修复代码
    如何在linux上部署vue项目
    Vue 2.x 3.x 配置项目开发环境跟线上环境
    在Vue文件中引入外部URL链接
    博客目录
  • 原文地址:https://www.cnblogs.com/scwanglijun/p/3916837.html
Copyright © 2020-2023  润新知