zoukankan      html  css  js  c++  java
  • mysql读写分离

    mysql读写分离

    1、读写分离的介绍

    ​ MySQL读写分离基本原理是让master数据库处理写操作,slave数据库处理读操作。master将写操作的变更同步到各个slave节点。

    ​ MySQL读写分离能提高系统性能的原因在于:

    ​ 1、物理服务器增加,机器处理能力提升。拿硬件换性能。

    ​ 2、主从只负责各自的读和写,极大程度缓解X锁和S锁争用。

    ​ 3、slave可以配置myiasm引擎,提升查询性能以及节约系统开销。

    ​ 4、master直接写是并发的,slave通过主库发送来的binlog恢复数据是异步。

    ​ 5、slave可以单独设置一些参数来提升其读的性能。

    ​ 6、增加冗余,提高可用性。

    2、读写分离的配置

    1、硬件配置

    master 192.168.85.11
    slave  192.168.85.12
    proxy  192,168.85.14
    

    2、首先在master和slave上配置主从复制

    3、进行proxy的相关配置

    #1、下载mysql-proxy
    https://downloads.mysql.com/archives/proxy/#downloads
    #2、上传软件到proxy的机器
    直接通过xftp进行上传
    #3、解压安装包
    tar -zxvf mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz
    #4、修改解压后的目录
    mv mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit mysql-proxy
    #5、进入mysql-proxy的目录
    cd mysql-proxy
    #6、创建目录
    mkdir conf
    mkdir logs
    #7、添加环境变量
    #打开/etc/profile文件
    vi /etc/profile
    #在文件的最后面添加一下命令
    export PATH=$PATH:/root/mysql-proxy/bin
    #8、执行命令让环境变量生效
    source /etc/profile
    #9、进入conf目录,创建文件并添加一下内容
    vi mysql-proxy.conf
    添加内容
    [mysql-proxy]
    user=root
    proxy-address=192.168.85.14:4040
    proxy-backend-addresses=192.168.85.11:3306
    proxy-read-only-backend-addresses=192.168.85.12:3306
    proxy-lua-script=/root/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua
    log-file=/root/mysql-proxy/logs/mysql-proxy.log
    log-level=debug
    daemon=true
    #10、开启mysql-proxy
    mysql-proxy --defaults-file=/root/mysql-proxy/conf/mysql-proxy.conf
    #11、查看是否安装成功,打开日志文件
    cd /root/mysql-proxy/logs
    tail -100 mysql-proxy.log
    #内容如下:表示安装成功
    2019-10-11 21:49:41: (debug) max open file-descriptors = 1024
    2019-10-11 21:49:41: (message) proxy listening on port 192.168.85.14:4040
    2019-10-11 21:49:41: (message) added read/write backend: 192.168.85.11:3306
    2019-10-11 21:49:41: (message) added read-only backend: 192.168.85.12:3306
    2019-10-11 21:49:41: (debug) now running as user: root (0/0)
    
    

    4、进行连接

    #mysql的命令行会出现无法连接的情况,所以建议使用客户端
    mysql -uroot -p123 -h192.168.85.14 -P 4040
    
  • 相关阅读:
    使用RecyclerView实现瀑布流的效果
    布局加载的方法以及参数说明
    反射机制及开源框架xUitls的使用,使用HttpUtils通过断点续传下载文件
    轻松实现数据库
    大鹏带你深层理解数据库习题
    夜黑风高的夜晚用SQL语句做了一些想做的事·······
    欲戴王冠必承其重
    使用java理解程序逻辑 第三章 选择结构一
    使用java理解程序逻辑,变量
    6.简单提取小红书app数据(简单初步试采集与分析)-1
  • 原文地址:https://www.cnblogs.com/Courage129/p/14059076.html
Copyright © 2011-2022 走看看