mysql 主从复制。读写分离

MySql主从复制,读写分离总结报告

一:编写目的

1本报告为部署Mysql主从复制,读写分离操作,以及设置部分的参数,和使用

 

 

二:Mysql主从复制

1部署过程

一:配置mysql配置文件参数

环境:centos6.5

    主数据库服务器:  Master:172.15.17.225 MySQL已经安装

    从数据库服务器:  Slave: 172.15.17.227 MySQL已经安装

mysql-proxy调度机:     172.15.17.222

  1. Master配置参数

在 Master:172.15.17.225端

 打开配置文件 vim  /etc/my.cnf 增加下列参数

log-bin=mysql-bin

#PS:server-id参数唯一 ,最好使用IP地址的最后一段

server-id=225

auto-increment-offset=1

auto-increment-increment=2

slave-skip-errors=all

 

default-storage-engine = innodb

innodb_file_per_table

collation-server = utf8_general_ci

init-connect = 'SET NAMES utf8'

character-set-server = utf8

 

如图所示

 

 

 

Master:172.15.17.225端登陆mysql

mysql -uroot -p****

如图所示

 

配置远程登陆用户

>GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;

如图所示

 

 

查询master状态

show master status

 

 

  1. Slave配置参数

在Slave: 172.15.17.227 打开配置文件 vim  /etc/my.cnf 增加下列参数

 

symbolic-links=0

default-storage-engine = innodb

innodb_file_per_table

collation-server = utf8_general_ci

init-connect = 'SET NAMES utf8'

character-set-server = utf8

 

log-bin=mysql-bin

#PS:server-id参数唯一 ,最好使用IP地址的最后一段

server-id=227

auto-increment-increment = 2

auto-increment-offset = 3

slave-skip-errors = all

 

 

 

配置用户GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;

 

配置执行同步SQL语句

 

查询slave状态SHOW SLAVE STATUS\G;

PS:当slave_io_running 和slave_sql_running都为yes则表示成功。

 

  1. 测试主从同步

在master创建表并且插入数据

 

 

 

在slave上直接查询如下图所示

 

发现数据同步则表示数据同步成功主从复制完成

 

  1. 配置mysql读写分离

在mysql-proxy调度机: 172.15.17.222

下载MySQL-Proxy

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

解压tar xzvf mysql-proxy-0.8.1-linux-rhel5-x86-32bit.tar.gz

mv mysql-proxy-0.8.1-linux-rhel5-x86-32bit /usr/local/mysql-proxy

mkdir /usr/local/mysql-proxy/run
mkdir /usr/local/mysql-proxy/logs

mkdir /usr/local/mysql-proxy/scripts

编辑配置文件vim /etc/mysql-proxy.cnf

增加如下内容

[mysql-proxy]

user=root

admin-username=root

admin-password=1

proxy-address=172.15.17.222:4040

proxy-read-only-backend-addresses=172.15.17.227

proxy-backend-addresses=172.15.17.225

proxy-lua-script=/usr/local/mysql-proxy/lua/rw-splitting.lua

admin-lua-script=/usr/local/mysql-proxy/lua/admin-sql.lua

og-file=/usr/local/mysql-proxy/logs/mysql-proxy.log

log-level=info

daemon=true

keepalive=true

如图所示:

 

 

~   编辑脚本vim /usr/local/mysql-proxy/lua/rw-splitting.lua

修改40 41行参数

min_idle_connections = 1,

max_idle_connections = 1,

 

如下图所示:

 

 

 

 

 

 

  1. 测试读写分离

在  Slave: 172.15.17.227关闭主从复制stop slave;

 

 

在一台机器用登陆

mysql -uroot -p1 -P4040 -h172.15.17.222

 

 

 

 

在表中插入一条数据并且查询发现插入成功但是未能查询到该数据

 

 

在slave172.15.17.227中开启slave

 

重新在查询发现数据出现,说明读写分离成功。

 

 

 

 

                                                                                                                                           

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值