给大家带来CentOS下数据库双向同步之mysql
欢迎大家来到仓酷云论坛!设置MySQL数据双向同步1、筹办办事器
因为MySQL分歧版本之间的(二进制日记)binlog格局大概会纷歧样,因而最好的搭配组合是Master的MySQL版本和Slave的版原形同大概更低,Master的版本一定不克不及高于Slave版本。
more..|less..|本文中,我们假定主办事器(以下简称Master)和从办事器(以下简称Slave)的版本都是5.0.27,操纵体系是RedHatLinux9。
假定同步Master的主机名为:master(IP:192.168.1.123),Slave主机名为:slave(IP:192.168.1.124),2个MySQL的basedir目次都是/usr/local/mysql,datadir都是:/var/lib/mysql。
2、设置同步办事器
1、设置同步Master
修正my.cnf文件,在
#ReplicationMasterServer(default)
#binaryloggingisrequiredforreplication
增加以下内容:
viewplaincopy
[*]#log-bin=/var/log/mysql/updatelog
[*]server-id=1
[*]binlog-do-db=discuz
[*]binlog-ignore-db=mysql
重启MySQL,创立一个MySQL帐号为同步公用
viewplaincopy
[*]#/usr/local/mysql/bin/mysql-uroot-p
[*]mysql>GRANTREPLICATIONSLAVEON*.*TOback@%IDENTIFIEDBYback;
[*]假如想要在Slave上有权限实行"LOADTABLEFROMMASTER"或"LOADDATAFROMMASTER"语句的话,必需授与全局的FILE和SELECT权限:
[*]mysql>GRANTFILE,SELECT,REPLICATIONSLAVEON*.*TOback@%IDENTIFIEDBYback;
[*]mysql>FLUSHPRIVILEGES;
2、设置同步Slave
修正my.cnf文件,增加
viewplaincopy
[*]server-id=2
[*]master-host=192.168.1.123
[*]master-user=back
[*]master-password=back
[*]master-port=3306
[*]replicate-ignore-db=mysql
[*]replicate-do-db=discuz
重启MySQL
3、启动同步
在主办事器masterMySQL下令符下
viewplaincopy
[*]#/usr/local/mysql/bin/mysql-uroot-p
[*]mysql>showmasterstatus;
显现(固然这个是我呆板的情形,你的不成能跟我一样哈,只是个例子):
+------------------+----------+-------------------+------------------+
|File|Position|Binlog_Do_DB|Binlog_Ignore_DB|
+------------------+----------+-------------------+------------------+
|mysql-bin.000009|98|discuz|mysql|
+------------------+----------+-------------------+------------------+
在从办事器masterMySQL下令符下
viewplaincopy
[*]#/usr/local/mysql/bin/mysql-uroot-p
[*]mysql>slavestop;
[*]mysql>changemastertomaster_host=192.168.1.123,master_user=back,master_password=back,master_log_file=mysql-bin.000009,master_log_pos=98;
[*]mysql>slavestart;
用showslavestatus/G;看一下从办事器的同步情形
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
假如都是yes,那代表已在同步
往内外面写点数据测试一下看是不是同步乐成,假如不乐成,相对不是你的RP成绩,再反省一下操纵步调!
4、设置双向同步
修正slave办事器的my.cnf,增加
viewplaincopy
[*]log-bin=/var/log/mysql/updatelog
[*]binlog-do-db=discuz
[*]binlog-ignore-db=mysql
重启MySQL,创立一个MySQL帐号为同步公用
viewplaincopy
[*]mysql>GRANTREPLICATIONSLAVEON*.*TOback@%IDENTIFIEDBYback;
[*]mysql>GRANTFILE,SELECT,REPLICATIONSLAVEON*.*TOback@%IDENTIFIEDBYback;
[*]mysql>FLUSHPRIVILEGES;
修正master办事器的my.cnf,增加
viewplaincopy
[*]master-host=192.168.1.124
[*]master-user=back
[*]master-password=back
[*]master-port=3306
[*]replicate-ignore-db=mysql
[*]replicate-do-db=discuz
重启MySQL
在主办事器slaveMySQL下令符下:
showmasterstatus;
+------------------+----------+-------------------+------------------+
|File|Position|Binlog_Do_DB|Binlog_Ignore_DB|
+------------------+----------+-------------------+------------------+
|mysql-bin.000013|98|discuz|mysql|
+------------------+----------+-------------------+------------------+
在办事器AMySQL下令符下:
viewplaincopy
[*]mysql>slavestop;
[*]mysql>changemastertomaster_host=192.168.1.124,master_user=back,master_password=back,master_log_file=mysql-bin.000013,master_log_pos=98;
[*]mysql>slavestart;
注重:关于要复制多个数据库时,binlog-do-db和replicate-do-db选项的设置,网上良多人说是用半角逗号分开,经由测试,如许的说法是毛病的,MySQL官方文档也明白指出,假如要备份多个数据库,只需反复设置响应选项就能够了。
好比:
binlog-do-db=a
binlog-do-db=b
replicate-do-db=a
replicate-do-db=b
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!
给大家带来CentOS下数据库双向同步之mysql
笔者五分钟后就给出了解决方法:“首先备份原文件到其他目录,然后删掉/usr/local/unispim/unispimsp.ksc,编辑/usr/local/unispim/unispimsp.ini,最后重启动计算机 未来的学习之路将是以指数增加的方式增长的。从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。 我学习Linux的心得体会 ,希望对大家的学习有所帮助,由于水平有限,本文难免有所欠缺,望请指正。 Windows?是图形界面的,Linux类似以前的?DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,Linux?也能显示图形界面,也有开始菜单、桌面、图标等。 如果你想深入学习Linux,看不懂因为文档实在是太难了。写的最好的、最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。 当然你不需搭建所有服务,可以慢慢来。自己多动手,不要非等着别人帮你解决问题。 任何人都可以根据自己的喜好来定制适合自己的操作系统,Linux?是抢占式多任务多用户操作系统. Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。
页:
[1]