1、环境mysql
系统:centos6.5sql
mysql版本:mysql5.6vim
master服务器:192.168.1.21centos
slave服务器: 192.168.1.100服务器
master写 slave读jvm
2、实现mysql主从复制ide
在master的/etc/my.cnf中[mysqld]字段下加入以下内容:测试
server_id=1spa
log_bin=mysql-bin.net
binlog_format=mixed
relay-log=relay-bin
relay-log-index=slave-relay-bin.index
auto-increment-incremen=2
auto-increment-offset=1
而后重启mysql服务:service mysqld restart
2. 在slave的/etc/my.cnf中[mysqld]字段下加入以下内容:
server_id=2
log_bin=mysql-bin
binlog_format=mixed
relay-log=relay-bin
relay-log-index=slave-relay-bin.index
auto-increment-incremen=2
auto-increment-offset=2
而后重启mysql服务:service mysqld restart
3. 而后在master中受权用户并查看二进制日志状态信息
4.在slave端创建同步链接,并执行start slave; 再查看状态:
change master to master_host='192.168.1.21',master_user='zhangfei',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=1489;
当看到上图两个yes时为主从复制成功。
3、实现读写分离
先安装Java
2.安装amoeba
1) 在master中给amoeba受权一个mysql远程帐户
mysql> GRANT ALL PRIVILEGES ON *.* TO 'amoeba'@'192.168.1.%' IDENTIFIED BY 'amoeba' WITH GRANT OPTION;
2)解压amoeba包:
3) 配置Amoeba下的dbServers.xml:
vi /usr/local/amoeba/conf/dbServers.xml
4) 图中192.168.5.10换成192.168.1.21
192.168.5.20换成192.168.1.100
5)编辑amoeba.xml;
vi /usr/local/amoeba/conf/amoeba.xml
6)编辑jvm.properties:
vim /usr/local/amoeba/jvm.properties
7) 启动amoeba:
/usr/local/amoeba/bin/launcher > /var/log/amoeba.log 2>&1 &
此时amoeba已启动成功。
4、测试读写分离
1.测试时先关闭主从复制:在slave端执行 stop slave
2.使用mysql -uroot -p123456 -h192.168.1.21 -P8806 登录并在表中插入一条数据
3.分别登录master和slave 发现只有master有新插入的数据而slave没有
此时写分离测试成功。
4.登录salve的mysql在表中插入一条新数据
5.使用mysql -uroot -p123456 -h192.168.1.21 -P8806 登录
6.经查询表中查到slave端新添加的数据
此时读分离测试成功。
至此实现mysql主从复制+读写分离。
本文本着简单直接配置成功为目的,若有疑问能够留言。
2 我是
33
2