首页 / MYSQL / MYSQL主从复制+读写分离
MYSQL主从复制+读写分离
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MYSQL主从复制+读写分离,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3433字,纯文字阅读大概需要5分钟。
内容图文
![MYSQL主从复制+读写分离](/upload/InfoBanner/zyjiaocheng/919/b59fab08449d42dc97a5fbedabcb8b02.jpg)
案例
搭建MYSQL主从复制
这里mysql服务器都装好了的
yum -y install ntp #装ntp时间同步
vim /etc/ntp.conf #配置文件
server 127.127.1.0
fudge 127.127.1.0 stratum 8 #添加这两行
service ntpd restart
/usr/sbin/ntpdate 192.168.1.101 #节点上进行时间同步,两台都要
配置MASTER主服务器
vim /etc/my.cnf
server-id = 11
log-bin=master-bin
log-slave-updates=true #修改或增加这三行
service mysqld restart
mysql -u root -p #登陆 给从服务器授权
grant replication slave on *.* to 'myslave'@'192.168.1.%' identified by '123456';
flush privileges;
show master status;
配置从服务器
#以下两台从服务器同样配置 不过ID不同就行
vim /etc/my.cnf
server-id = 22
relay-log=relay-log-bin
relay-log-index=slave-relay-bin-index
#添加修改这些内容
service mysqld restart
mysql -u root -p
change master to master_host='192.168.1.101',master_user='myslave',master_password='123456',master_log_file='master-bin.000003',master_log_pos=106;
#后面两个参数 需要填master的
start slave;
show slave status\G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
#必须yes状态。克隆可能出问题,去改UUID
第二台从服务器不重复了。
验证主从复制效果
搭建mysql读写分离
在主机Amoeba 安装java环境 因为Amoeba是基于jdk1.5开发的,官方推荐使用jdk1.5或1.6版本。高版本不建议。
cp amoeba-mysql-binary-2.2.0.tar.gz jdk-6u14-linux-x64.bin /usr/src/
chmod +x /usr/src/jdk-6u14-linux-x64.bin
./jdk-6u14-linux-x64.bin
mv jdk1.6.0_14/ /usr/local/jdk1.6
vim /etc/profile #配置环境
export JAVA_HOME=/usr/local/jdk1.6
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
export AMOEBA_HOME=/usr/local/amoeba
export PATH=$PATH:$AMOEBA_HOME/bin
. /etc/profile
java -version
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) 64-Bit Server VM (build 14.0-b16, mixed mode)
#输出以上信息为成功
mkdir /usr/local/amoeba
cd /usr/src/
tar zxf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba/
chmod -R 755 /usr/local/amoeba/
主和两台从配置权限用户
grant all on *.* to test@'192.168.1.%' identified by '123.com';
#两台从也这样
vim /usr/local/amoeba/conf/amoeba.xml
<property name="user">amoeba</property>
<property name="password">123456</property>
#三十行左右
#115行左右
<property name="LRUMapSize">1500</property>
<property name="defaultPool">master</property>
<property name="writePool">master</property>
<property name="readPool">slaves</property>
vim /usr/local/amoeba/conf/dbServers.xml
#26行左右
<property name="user">test</property>
<property name="password">123.com</property>
#45行左右
<property name="ipAddress">192.168.1.101</property>
</factoryConfig>
</dbServer>
<dbServer name="slave1" parent="abstractServer">
<factoryConfig>
<!-- mysql ip -->
<property name="ipAddress">192.168.1.102</property>
</factoryConfig>
</dbServer>
<dbServer name="slave2" parent="abstractServer">
<factoryConfig>
<!-- mysql ip -->
<property name="ipAddress">192.168.1.103</property>
</factoryConfig>
</dbServer>
<dbServer name="slaves" virtual="true">
<poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">
<!-- Load balancing strategy: 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->
<property name="loadbalance">1</property>
<!-- Separated by commas,such as: server1,server2,server1 -->
<property name="poolNames">slave1,slave2</property>
</poolConfig>
</dbServer>
/usr/local/amoeba/bin/amoeba start &
验证
mysql -u amoeba -p123456 -h 192.168.1.110 -P8066
#客户端登陆
在maseter创建一个表 然后停掉从服务器的slave功能。
读从 ,写主。 主从复制
内容总结
以上是互联网集市为您收集整理的MYSQL主从复制+读写分离全部内容,希望文章能够帮你解决MYSQL主从复制+读写分离所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。