仓酷云

标题: 给大家带来mysql双击热备+amoeba读写分别试验 [打印本页]

作者: 逍遥一派    时间: 2015-1-14 20:45
标题: 给大家带来mysql双击热备+amoeba读写分别试验
欢迎大家来到仓酷云论坛!Mysql读写分别是为了进步网站的拜访速度,进步数据库的并发负载才能。


但在现实的临盆情况中,由单台Mysql作为自力的数据库是完整不克不及知足现实需求的,不管是在平安性,高可用性和高并发等各个方面


是以,普通来讲都是经由过程主从复制(Master-Slave)的方法来同步数据,再经由过程读写分别来晋升数据库的并发负载才能如许的计划来停止安排与实行的





留意:先做主从复制,再度读写分别。





MySQL主从复制构造是基于mysqlbin-log日记基本上,从库经由过程翻开IO过程收到主库的bin-log日记增量信息,并保留到当地relaylog,尔后再经由过程翻开MYSQL过程从relaylog上获得的增量信息并翻译成SQL语句后写到从数据库。




试验情况:
主:10.8.0.150
从:10.8.0.151
amoeba:10.8.0.160
PS:为了便利试验,可直接yummysql或许直接剧本履行lnmp。
拓扑图以下:







试验第一步:
上岸主办事器操作敕令
mysql>GRANTREPLICATIONCLIENT,REPLICATIONSLAVEON*.*TOcong151@10.8.0.151IDENTIFIEDBY"123456";
mysql>showmasterstatus;
+------------------+----------+--------------+------------------+
|File|Position|Binlog_Do_DB|Binlog_Ignore_DB|
+------------------+----------+--------------+------------------+
|mysql-bin.000008|5722410|||
+------------------+----------+--------------+------------------+
记住file和Position。
上岸从办事器操作敕令
1、编纂my.ini文件,修正server-id=2(默许为1,因做mysql的主从复制,须要修正ID和主办事器上纷歧样便可,也弗成和同内网mysql办事器其他的ID一样)
2、登入mysql
mysql>changemastertomaster_host=10.8.0.150,master_user=cong151,master_password=123456,master_log_file=mysql-bin.000008,master_log_pos=5722410;
mysql>startslave;
mysql>showslavestatusG
***************************1.row***************************
Slave_IO_State:Waitingformastertosendevent
Master_Host:10.8.0.150
Master_User:cong151
Master_Port:3306
Connect_Retry:60
Master_Log_File:mysql-bin.000008
Read_Master_Log_Pos:5722410
Relay_Log_File:localhost-relay-bin.000061
Relay_Log_Pos:251
Relay_Master_Log_File:mysql-bin.000008
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno:0
Last_Error:
Skip_Counter:0
Exec_Master_Log_Pos:5722410
Relay_Log_Space:3466785
Until_Condition:None
Until_Log_File:
Until_Log_Pos:0
Master_SSL_Allowed:No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master:0
Master_SSL_Verify_Server_Cert:No
Last_IO_Errno:0
Last_IO_Error:
Last_SQL_Errno:0
Last_SQL_Error:


如许解释从办事器复制主办事器的数据是正常的了,且可以指定复制的库,可以在my.ini外面修正便可。
为了做主从复制,即从复制主且主复制从。
持续在从办事器上操作。
mysql>GRANTREPLICATIONCLIENT,REPLICATIONSLAVEON*.*TOzhu150@10.8.0.150IDENTIFIEDBY"123456";
mysql>showmasterstatus;
+------------------+----------+--------------+------------------+
|File|Position|Binlog_Do_DB|Binlog_Ignore_DB|
+------------------+----------+--------------+------------------+
|mysql-bin.000006|786|||
+------------------+----------+--------------+------------------+


上岸主办事器
mysql>changemastertomaster_host=10.8.0.151,master_user=zhu150,master_password=123456,master_log_file=mysql-bin.000006,master_log_pos=786;
mysql>startslave;
mysql>showslavestatusG
***************************1.row***************************
Slave_IO_State:Waitingformastertosendevent
Master_Host:10.8.0.151
Master_User:zhu150
Master_Port:3306
Connect_Retry:60
Master_Log_File:mysql-bin.000006
Read_Master_Log_Pos:786
Relay_Log_File:localhost-relay-bin.000003
Relay_Log_Pos:251
Relay_Master_Log_File:mysql-bin.000006
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno:0
Last_Error:
Skip_Counter:0
Exec_Master_Log_Pos:786
Relay_Log_Space:935
Until_Condition:None
Until_Log_File:
Until_Log_Pos:0
Master_SSL_Allowed:No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master:0
Master_SSL_Verify_Server_Cert:No
Last_IO_Errno:0
Last_IO_Error:
Last_SQL_Errno:0
Last_SQL_Error:
如许,mysql的主从复制试验OK。



Amoeba的装置:
装置Amoeba前要先装置JDK,由于Amoeba是用java开辟的所要有JDK支撑。
下载jdk-6u15-linux-i586.bin(shjdk-6u15-linux-i586.bin履行法式)
编纂/etc/profile添加以下代码
exportJAVA_HOME=/usr/local/jdk1.6.0_15
exportCLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
exportPATH=$PATH:$JAVA_HOME/bin
[root@localhost~]#source/etc/profile
[root@localhost~]#java-version
javaversion"1.6.0_15"
Java(TM)SERuntimeEnvironment(build1.6.0_15-b03)
JavaHotSpot(TM)ClientVM(build14.1-b02,mixedmode,sharing)


下载amoeba-mysql-binary-2.0.1-BETA.tar.gz
[root@localhost~]#mkdir/usr/local/amoeba&&cd/usr/local/amoeba/&&tar/root/amoeba-mysql-binary-2.0.1-BETA.tar.gz
那末剩上去的就是若何设置装备摆设amoeba(设置装备摆设文件在conf目次下,重要是dbServers.xml和amoeba.xml两个文件)
先编纂dbServers.xml文件



留意此时的用户名和暗码,为后端数据库的用户名和暗码,须要在两台数据库办事器上开启长途,长途的用户名和暗码本身设置,我是为了便利。



添加两个节点,分离是master和slave,同时修正下一个虚拟组,将master和slave参加出来。前面会须要的。


在编纂amoeba.xml文件






建议修正下IP为AMOEBA的署理办事器的IP,不建议写127.0.0.1或许localhost。
上面的用户名和暗码,是对外供给的数据库用户名和暗码,也就是AMOEBA上岸的用户名和暗码,不须要在主从办事器上添加这个用户名和暗码的,我如许设置也是为了便利。





默许的组是master,解释应用amoeba上岸后,实际上是上岸到主办事器上的。
写入组是master,解释数据写入在主办事器上。
读取组是我们之前设置的虚拟组(包含master和slave,带来的后果是,查询两次,分离是在主下面查询一次和从下面查询一次)
以上,amoeba的办事器设置装备摆设OK,剩下的是检讨设置装备摆设,
直接应用/usr/local/amoeba/bin/amoebastart来检讨,假如涌现成绩,请立刻处理。



假如没发明成绩,相似如斯日记,请ctrl+c封闭过程。同时应用/usr/local/amoeba/bin/amoebastart&启动并将法式放入后台。



最初剩下的就是测试。
先须要测试经由过程amoeba衔接办事器,
案例敕令:mysql-uroot-pu2ktgshc#@dq-h10.8.0.160-P8066





第二,直接操作数据库,新建库,新建表,内外写入数据,检查数据能否正常。重要是测试mysql的主从同步后果若何。
最初,封闭主从互相同步,敕令:stopslave;两个后真个办事器都须要操作,如许主从复制被停滞,再次拔出数据,检查两次,看下比较便可。
假如发明了变更,那末您的试验OK了,没发明后果,请检讨amoeba的两个设置装备摆设文件。
留意一点:<--!-->这个表现正文,之前我小我做试验也是由于这个成绩招致第一次没胜利。
望列位好运。
若有胜利者,且实在弄到测试情况中(搭建网站测试),请告诉若何php挪用amoeba,小我没弄定。为感!
后续的试验,可经由过程两个前端办事器来做amoeba,后真个mysql办事器和两台amoeba应用LVS+Keepalived来做集群和热备。
本文出自“幼@童鞋”博客,请务必保存此出处http://yangxiaofei.blog.51cto.com/2910082/1309978


欢迎大家来到仓酷云论坛!
作者: 再现理想    时间: 2015-1-16 22:29
标题: 给大家带来mysql双击热备+amoeba读写分别试验
现在的linux操作系统如redhat,难点,红旗等,都是用这么一个内核,加上其它的用程序(包括X)构成的。
作者: 分手快乐    时间: 2015-1-24 15:21
学习Linux,应该怎样学,主要学些什么,一位Linux热心学习者,一段学习Linux的风云经验,历时十二个小时的思考总结,近十位网络Linux学习者权威肯定,为您学习Linux指明方向。
作者: 不帅    时间: 2015-2-2 06:43
说实话小时候没想过搞IT,也计算机了解也只是一些皮毛,至于什么UNIX,Linux,听过没见过,就更别说用过了。?
作者: 灵魂腐蚀    时间: 2015-2-7 18:50
我感觉linux的学习,学习编程~!~!就去学习C语言编程!!
作者: admin    时间: 2015-2-23 09:35
硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。
作者: 深爱那片海    时间: 2015-3-7 09:01
Windows?是图形界面的,Linux类似以前的?DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,Linux?也能显示图形界面,也有开始菜单、桌面、图标等。
作者: 简单生活    时间: 2015-3-14 22:18
随着IT从业人员越来越多,理论上会有更多的人使用Linux,可以肯定,Linux在以后这多时间不会消失。
作者: 莫相离    时间: 2015-3-21 17:49
发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2