mysql读写分离总结

来源:互联网 发布:手机视频拼接软件 编辑:程序博客网 时间:2024/06/18 11:23

mysql读写分离实现思路,用mysql自带的主从复制做数据同步。用mysql-proxy做读写操作映射。

一.windows版本mysql-proxy配置

    1.从mysql官网下载mysql-proxy的windows版本。解压后保留bin和lib文件。在share\doc\mysql-proxy文件夹下找到rw-splitting.lua将其放到bin文件夹下。

    2.进入bin文件夹打开CMD。运行如下命令

     mysql-proxy.exe --proxy-read-only-backend-addresses=192.168.1.4:3306 --proxy-backend-addresses=192.168.1.7:3306 --proxy-lua-script=E:\mysql-proxy\bin\rw-splitting.lua

     命令结尾加上&表示后台运行。

     这样mysql代理就成功启动了。

     说明:

            1.rw-splitting.lua是mysql-proxy进行读写分离的配置文件,找到如下代码配置读写分离。我的解是进行读写分离的连接数。

if not proxy.global.config.rwsplit thenproxy.global.config.rwsplit = {min_idle_connections = 4,max_idle_connections = 8,is_debug = false}end

           2.简单配置要求主从数据库用户名密码一致。代理连接数据库密码有没有其他方案暂时没有了解。

           3.--proxy-read-only-backend-addresses应该可以配置多个。应该可以加权重。

二.mysql主从复制配置。

     1.mysql主从复制的配置思路为(1)master开启二进制日志。(2)创建一个用于从服务器登录的账号。

     2.slave思路为(1)从服务器修改配置文件。这个修改起什么作用没搞明白。(2)sql配置主服务器信息。(3)开启slave

     master

     master配置文件添加如下内容

server-id=1log-bin=master-binlog-bin-index=master-bin.index
     添加从服务器的登录账号

 GRANT REPLICATION SLAVE ON *.* to 'slave'@'%' identified by '123456';

     重启服务器后查看主服务器状态

show master status

    slave 

    slave配置

server-id=2master-info-file = master.inforelay-log = relay-relay-binrelay-log-index = relay-relay-bin.indexrelay-log-info-file=relay-relay-log.info

     sql配置主master信息 

change master to master_host='192.168.1.4',master_port=3306,master_user='slave',master_password='123456', master_log_file='master-bin.000002',master_log_pos=637;

      开启从服务

start slave
      查看从服务器状态
show slave status
      出现下面的就表示成功了

Slave_IO_Running: Yes    //此状态必须YESSlave_SQL_Running: Yes 




0 0
原创粉丝点击