centos7 mysql5.6读写分离配置

环境说明

  • 前提mysql主从复制已实现
  • 环境准备
    系统 centos7.2
    master 192.168.20.131
    slave 192.168.20.132
    proxy 192.168.20.133

安装MySQL-proxy

  • 下载
    下载地址
    wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
    tar xf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
    mv mysql-5.7.17-linux-glibc2.5-x86_64 /data/mysql-proxy

  • 配置
    mkdir /data/mysql-proxy/{lua,logs}
    cd /data/mysql-proxy
    cp share/doc/mysql-proxy/rw-splitting.lua ./lua #复制读写分离配置文件
    cp share/doc/mysql-proxy/admin-sql.lua ./lua #复制管理脚本

  • 启动配置文件
    vim /etc/mysql-proxy.cnf #创建配置文件

    user=root
    admin-username=proxy
    admin-password=xxxxx
    proxy-address=192.168.20.133:4040
    proxy-read-only-backend-addresses=192.168.20.132:3306
    proxy-backend-addresses=192.168.20.131:3306
    proxy-lua-script=/data/mysql-proxy/lua/rw-splitting.lua
    admin-lua-script=/data/mysql-proxy/lua/admin-sql.lua
    log-file=/data/mysql-proxy/logs/mysql-proxy.log
    log-level=info
    daemon=true
    keepalive=true

  • 读写分离配置
    vim /data/mysql-proxy/lua/rw-splitting.lua

    if not proxy.global.config.rwsplit then
    proxy.global.config.rwsplit = {
    min_idle_connections = 1, #默认超过4个连接数时,才开始读写分离,改为1
    max_idle_connections = 1, #默认8,改为1
    is_debug = false
    }
    end

  • 修改配置文件权限
    chmod 660 /etc/mysql-proxy.cnf #启动时会提示权限必须为660

  • 启动mysql-proxy
    /data/mysql-proxy/bin/mysql-proxy --defaults-file=/etc/mysql-proxy.cnf
    停止时kill -9 即可

测试读写分离

  • 主从创建proxy用户
    grant all on . to 'proxy'@ip' identified by 'xxxx';
  • 客户端连接
    mysql -u proxy -h ip -P 4040 -p
  • 测试思路
    测试写
    关闭slave,在proxy上执行insert,发现master上新增
    在proxy上执行select语句,发现不包括刚才insert的操作,新增的都在master上。

切换读库引擎

  • 读库默认引擎是InnoDB,修改为MyISAM会使查询速度变快
    vim /etc/my.cnf

    [mysqld]
    default-storage-engine=MyISAM 创建新表时将使用的默认存储引擎
    key_buffer_size=128M
    myisam_sort_buffer_size=256M
    myisam_max_sort_file_size=5G
    myisam_repair_threads=1
    myisam_recover

posted @ 2019-07-11 16:18  fuhaizi  阅读(328)  评论(0)    收藏  举报