Mysql主从复制+读写分离

部署环境:
系统环境CentOS release 6.5_x64
主mysql服务器ip:172.18.49.10
从mysql服务器ip:172.18.49.2

开始部署安装:
Mysql服务器都已经搭建完成。

主mysql上:

#cp /etc/my.cnf /etc/my.cnf.bak
#vi /etc/my.cnf
log_bin=mysql-bin //开启二进制日志
server_id=1 //server_id 的值主从必须不同
#service mysqld restart

登录mysql后进行授权:

mysql> grant all on . to ‘replication’@’%’ identified by ‘replication’;
mysql> flush privileges;
解释:在master的数据库服务器中建立一个复制的账户,每个slave使用该账户链接master来进行复制,设置所有权限(根据具体情况自定)。上面创建了一个replication用户,密码是replication。只允许在所有段的ip地址的登录。
查看master的状态:
#mysql -uroot -p
mysql> show master status;
在这里插入图片描述
记住file和position的值,配置slave的时候需要用。

从mysql上配置:
修改配置文件
#vi /etc/my.cnf
server_id = 2 //修改server_id,其值必须和master的不同。
relay_log=relay-logs //开启中继日志,可以自定义目录,mysql用户有权限即可
#service mysqld restart
#mysql -uroot –p
查看中继日志的启动状态:
mysql> show global variables like ‘%relay%’;
在这里插入图片描述
连接master服务器:
mysql> change master to master_host=‘172.18.49.10’,master_user=‘replication’,master_password=‘replication’,master_log_file=‘master-bin.000003’,master_log_pos=284;
选项解释:
master_host:Master 服务器IP
master_user:Master 服务器授权用户,也就是 Master 前面创建的那个用户
master_password:Master 服务器授权用户对应的密码
master_log_file:Master binlog 文件名
master_log_pos:Master binlog 文件中的 Postion 值
手动启动复制线程:
mysql> start slave;
在这里插入图片描述
在这里插入图片描述
如果 Last_SQL_Error 没有错误提示以及 Salve 中的 Exec_Master_Log_Pos 值和 Master 中的 show master status; 中的 Postition 值是一样的,这样的话,MySQL 主从复制应该是成功的。

测试:
在master上:
mysql> use test;
mysql> create table users(id int(10),name varchar(48),sex char(16));
mysql> insert into users values(1,‘qq’,‘nan’);
mysql> flush privileges;
在这里插入图片描述
在slave上:
mysql> use test;
在这里插入图片描述
则,主从复制OK!!!

读写分离:

安装jdk
#rpm -ivh jdk-8u20-linux-x64.rpm
#vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_20/
export CLASSPATH= C L A S S P A T H : CLASSPATH: CLASSPATH:JAVA_HOME/lib: J A V A H O M E / j r e / l i b e x p o r t P A T H = JAVA_HOME/jre/lib export PATH= JAVAHOME/jre/libexportPATH=JAVA_HOME/lib: J A V A H O M E / j r e / b i n : JAVA_HOME/jre/bin: JAVAHOME/jre/bin:PATH: H O M E / b i n e x p o r t A M O E B A H O M E = / u s r / l o c a l / a m o e b a e x p o r t P A T H = HOME/bin export AMOEBA_HOME=/usr/local/amoeba export PATH= HOME/binexportAMOEBAHOME=/usr/local/amoebaexportPATH=PATH:$AMOEBA_HOME/bin
#source /etc/profile
#java –version
在这里插入图片描述
安装amoeba
#mkdir /usr/local/amoeba
#tar zxf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba/
#chmod -R 755 /usr/local/amoeba/
#/usr/local/amoeba/bin/amoeba
amoeba start|stop //显示这个表示amoeba安装成功。

如果起不来的话
vim /usr/local/amoeba/bin/amoeba
修改58行128改为300
配置amoeba读写分离
在master、slave1、slave2、、、、中开放权限给amoeba访问:
mysql> grant all on . to test@‘172.18.49.%’ identified by ‘123’;
修改amoeba的配置文件:
#cp amoeba.xml amoeba.xml.bak
#vi /usr/local/amoeba/conf/amoeba.xml
修改连接amoeba代理服务器的有用户名和密码。
在30行
在这里插入图片描述
修改默认的地址池名字,写和读的名字:注意:删掉注释符。
在115,118,119行
在这里插入图片描述
对应主机名
编辑修改dbservers.xml配置文件(对后端mysql服务器的配置)。
#cp dbServers.xml dbServers.xml.bak
#vi dbServers.xml’
在26行
在这里插入图片描述

指定主从数据库地址:
都是对应得主机名
在54行
在这里插入图片描述
在这里插入图片描述
之后启动amoeba:
#/usr/local/amoeba/bin/amoeba start&
#netstat -anpt | grep :8066
Mysql -uamoeba -p123 -hIP地址 -P8806
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值