仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 593|回复: 8
打印 上一主题 下一主题

[学习教程] 发一篇如何在两台MySQL数据库间完成同步

[复制链接]
若天明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 20:14:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
通过支付一定费用,客户可以得到优先的24/7支持,访问内容丰富的在线知识库和联系一个专门的技术负责经理。做开辟的时分要做MySQL的数据库同步,两台安装一样的体系,都是FreeBSD5.4,安装了Apache2.0.55和php4.4.0,MySQL的版本是4.1.15,都是今朝最新的版本。
1.安拆卸置
两台服务器,分离安装好MySQL,都安装在/usr/local/MySQL目次下(安装步骤省略,请参考相干文档),两台服务器的ip分离是192.168.0.1和192.168.0.2,我们把192.168.0.1作为master数据库,把192.168.0.2作为slave服务器,我们接纳单向同步的体例,就是master的数据是主的数据,然后slave自动往master哪儿同步数据返来。
两台服务器的设置一样,我们把关头的设置文件拷贝一下,默许的设置文件是在/usr/local/MySQL/share/MySQL目次下,分离有my-large.cnf,my-medium.cnf,my-small.cnf等几个文家,我们只是测试,利用my-medium.cnf就好了。MySQL安装完后,默许的设置文件是指定在数据库寄存目次下的,我们用的是4.1.X的,以是设置文件就应当在/usr/local/MySQL/var目次下,因而把设置文件拷贝已往:

cp/usr/local/MySQL/share/MySQL/my-medium.cnf/usr/local/MySQL/var/my.cnf

两台服务器做不异的拷贝设置文件操纵。
2.设置Master服务器
我们要把192.168.0.1设置为主MySQL服务器(master),那末我们就要思索我们必要同步谁人数据库,利用谁人用户同步,我们这里为了复杂起见,就利用root用户举行同步,而且只必要同步数据库abc。
翻开设置文件:

vi/usr/local/MySQL/var/my.cnf

找到一下信息:

#requireduniqueidbetween1and2^32-1#defaultsto1ifmaster-hostisnotset#butwillnotfunctionasamasterifomittedserver-id=1//1为master,2为salve

增加两行:

sql-bin-update-same//同步情势binlog-do-db=abc//要同步的数据库

重启192.168.0.1的MySQL服务器:

/usr/local/MySQL/bin/MySQLadminshutdown/usr/local/MySQL/bin/MySQLd_safe--user=MySQL&

3.设置Slave服务器
我们的slave服务器次要是自动往master服务器同步数据返来,我们编纂设置文件:

vi/usr/local/MySQL/var/my.cnf

找到上面相似的信息:

#requireduniqueidbetween1and2^32-1#defaultsto1ifmaster-hostisnotset#butwillnotfunctionasamasterifomittedserver-id=1

把下面的server-id修正为2,同时增加一些信息:

server-id=2//本MySQL是slave服务器master-host=192.168.0.1//master服务器的IPmaster-user=root//毗连master服务器的用户master-passWord=//毗连master服务器的暗码master-port=3306//毗连端口master-connect-retry=10//重试次数replicate-do-db=abc//要同步的数据库log-slave-updates//同步的情势

重启192.168.0.2的MySQL服务器:

/usr/local/MySQL/bin/MySQLadminshutdown/usr/local/MySQL/bin/MySQLd_safe--user=MySQL&

4.测试安装
起首检察一下slave的主机日记:

cat/usr/local/MySQL/var/xxxxx_err(xxx是主机名)

反省是不是毗连一般,看到相似如许的信息就乐成了

05103111:42:40MySQLdstarted05103111:42:41InnoDB:Started;logsequencenumber043634/usr/local/MySQL/libexec/MySQLd:readyforconnections.Version:4.1.15-logsocket:/tmp/MySQL.sockport:3306Sourcedistribution05103111:42:41[Note]SlaveSQLthreadinitialized,startingreplicationinlogFIRSTatposition0,relaylog./new4-relay-bin.000001position:405103111:43:21[Note]SlaveI/Othread:connectedtomasterroot@192.168.0.1:3306,replicationstartedinlogFIRSTatposition4

在Master检察信息

/usr/local/MySQL/bin/MySQL-uroot

检察master形态:

MySQL>showmasterstatus;

检察Master下MySQL历程信息:

MySQL>showPRocesslist;

在slave上检察信息:

/usr/local/MySQL/bin/MySQL-uroot

检察slave形态:

MySQL>showslavestatus;

检察slave下MySQL历程信息:

MySQL>showprocesslist;

你再在master的abc库里创建表布局而且拔出数据,然后反省slave有无同步这些数据,就可以够反省出是不是设置乐成。
最初,假如有乐趣的话,能够研讨一下双击热备份,大概一台master,多台slave的同步完成。
你不用花费很多时间和金钱来培训现有的职工,或者去花大价钱雇用那些拥有各种证书的开发者。因为MySQL的维护和管理在很大程度上是“傻瓜型”的。
沙发
发表于 2015-1-18 18:55:02 | 只看该作者
连做梦都在想页面结构是怎么样的,绝非虚言
第二个灵魂 该用户已被删除
板凳
发表于 2015-1-24 12:39:12 | 只看该作者
再开发调试阶段和OLAP环境中,外键是可以建立的。新版本中加入了SETNULL和SETDEFAULT属性,能够提供能好的级联设置。
深爱那片海 该用户已被删除
地板
发表于 2015-2-1 13:48:10 | 只看该作者
多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
不帅 该用户已被删除
5#
发表于 2015-2-7 06:45:30 | 只看该作者
记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。
谁可相欹 该用户已被删除
6#
发表于 2015-2-20 23:59:30 | 只看该作者
SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。
活着的死人 该用户已被删除
7#
发表于 2015-3-6 19:31:27 | 只看该作者
作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题!
兰色精灵 该用户已被删除
8#
发表于 2015-3-13 07:06:18 | 只看该作者
语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!
只想知道 该用户已被删除
9#
发表于 2015-3-20 15:40:27 | 只看该作者
而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-28 14:16

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表