网上有不少关于 mysql 数据库服务器的数据同步文章,其实只有二位朋友发表的文章,其他都是转抄。
而这些文章中,仅对数据同步过程的操作作了一个记录,而没有把操作方法,原理与一些过程中出现的问题说明清楚。
因为工作需要,我公司需要对美国服务器上的 mysql 数据库同步到香港服务器上,仅对部分业务相关表进行同步,而同时又需要把香港服务器上的产品数据同步到美国服务器上,这是同一个数据库,不同表 table 的双向同步,我在设置过程中,参考了网上的中文文章与 msql.com 网站上的在线文档,多次成败,也算是把 mysql 的这样同步搞个明白。
下面就是一些记录文章,希望可以说明一些内在原理,一些出错现象与处理方法。
mysql 的数据同步,在 mysql 官方网站文档上,叫 replication 字面是重作的意思,意译就是同步了。
其实,mysql 的同步,并不是使用同步 sync 这个单词而是用重作 replication ,很准确表明了 mysql 数据库操作的实质,是作同样的操作,或叫重作同样的操作,以保持主数据库服务器 master 与 从属服务器 slave 之样的数据保持一致。replication 就是有重复,重作的意思。
而这些文章中,仅对数据同步过程的操作作了一个记录,而没有把操作方法,原理与一些过程中出现的问题说明清楚。
因为工作需要,我公司需要对美国服务器上的 mysql 数据库同步到香港服务器上,仅对部分业务相关表进行同步,而同时又需要把香港服务器上的产品数据同步到美国服务器上,这是同一个数据库,不同表 table 的双向同步,我在设置过程中,参考了网上的中文文章与 msql.com 网站上的在线文档,多次成败,也算是把 mysql 的这样同步搞个明白。
下面就是一些记录文章,希望可以说明一些内在原理,一些出错现象与处理方法。
mysql 的数据同步,在 mysql 官方网站文档上,叫 replication 字面是重作的意思,意译就是同步了。
其实,mysql 的同步,并不是使用同步 sync 这个单词而是用重作 replication ,很准确表明了 mysql 数据库操作的实质,是作同样的操作,或叫重作同样的操作,以保持主数据库服务器 master 与 从属服务器 slave 之样的数据保持一致。replication 就是有重复,重作的意思。
网站访问量越来越大,MySQL自然成为瓶颈,因此最近我一直在研究 MySQL 的优化,第一步自然想到的是 MySQL 系统参数的优化,作为一个访问量很大的网站(日20万人次以上)的数据库系统,不可能指望 MySQL 默认的系统参数能够让 MySQL运行得非常顺畅。
通过在网络上查找资料和自己的尝试,我认为以下系统参数是比较关键的:
(1)、back_log:
要求 MySQL 能有的连接数量。当主要MySQL线程在一个很短时间内得到非常多的连接请求,这就起作用,然后主线程花些时间(尽管很短)检查连接并且启动一个新线程。
back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。只有如果期望在一个短时间内有很多连接,你需要增加它,换句话说,这值对到来的TCP/IP连接的侦听队列的大小。你的操作系统在这个队列大小上有它自己的限制。 试图设定back_log高于你的操作系统的限制将是无效的。
当你观察你的主机进程列表,发现大量 264084 | unauthenticated user | xxx.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL 的待连接进程时,就要加大 back_log 的值了。默认数值是50,我把它改为500。
通过在网络上查找资料和自己的尝试,我认为以下系统参数是比较关键的:
(1)、back_log:
要求 MySQL 能有的连接数量。当主要MySQL线程在一个很短时间内得到非常多的连接请求,这就起作用,然后主线程花些时间(尽管很短)检查连接并且启动一个新线程。
back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。只有如果期望在一个短时间内有很多连接,你需要增加它,换句话说,这值对到来的TCP/IP连接的侦听队列的大小。你的操作系统在这个队列大小上有它自己的限制。 试图设定back_log高于你的操作系统的限制将是无效的。
当你观察你的主机进程列表,发现大量 264084 | unauthenticated user | xxx.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL 的待连接进程时,就要加大 back_log 的值了。默认数值是50,我把它改为500。
一、应用背景
某网络广告公司,总部设在中国上海,是一个具有多项全球顶尖互联网专利技术的专业广告集团,主营在线网络广告,业务量庞大,广告主及联盟网站众多且遍布不同区域。由于南北互通问题,严重制约了市场的拓展和业务的进一步发展,影响了工作效率。目前有CDN(内容分布网络),BGP(边际网关协议)等技术可以解决南北互通问题,但是高投资、高使用费以及高维护费成为该公司的首要难题。为打破困局,该公司决定对症下药,寻找更经济的解决办法,消除南北间不可逾越的"鸿沟",降低网络费用。
二、解决方案
采用双线机房,Bind9作为智能DNS,通过DNS View配置,自动根据客户端IP来判断,网通的用户解析出网通的IP,电信的解析出电信IP,使用户能够访问到临近的同网的服务器,避免跨网访问,从而提高访问速度,解决南北互访问题。
三、实施步骤
操作系统:
CentOS 4.4 http://www.centos.org
软件列表:
BIND9 http://www.isc.org
Ripe-dbase-client-v3 http://www.apnic.net
例子域名:
Entage.net
步骤一、安装操作系统
推荐使用CentOS 4.4,基于RedHat Enterprise AS 4.4安全加强的免费可升级独立分发版本Linux操作系统,安装过程不再详述。
某网络广告公司,总部设在中国上海,是一个具有多项全球顶尖互联网专利技术的专业广告集团,主营在线网络广告,业务量庞大,广告主及联盟网站众多且遍布不同区域。由于南北互通问题,严重制约了市场的拓展和业务的进一步发展,影响了工作效率。目前有CDN(内容分布网络),BGP(边际网关协议)等技术可以解决南北互通问题,但是高投资、高使用费以及高维护费成为该公司的首要难题。为打破困局,该公司决定对症下药,寻找更经济的解决办法,消除南北间不可逾越的"鸿沟",降低网络费用。
二、解决方案
采用双线机房,Bind9作为智能DNS,通过DNS View配置,自动根据客户端IP来判断,网通的用户解析出网通的IP,电信的解析出电信IP,使用户能够访问到临近的同网的服务器,避免跨网访问,从而提高访问速度,解决南北互访问题。
三、实施步骤
操作系统:
CentOS 4.4 http://www.centos.org
软件列表:
BIND9 http://www.isc.org
Ripe-dbase-client-v3 http://www.apnic.net
例子域名:
Entage.net
步骤一、安装操作系统
推荐使用CentOS 4.4,基于RedHat Enterprise AS 4.4安全加强的免费可升级独立分发版本Linux操作系统,安装过程不再详述。
内容发布网(CDN)是一种新型的网络构建方式,它提供了一个网络系统支撑平台,可以为多种应用提供优质的网络服务。它在传统的IP网络之上建立了为多种应用发布而特别优化的网络覆盖层,CDN代表了一种基于质量与秩序的网络服务模式。
CDN是内容发布网络(ContentDeliveryNetwork)的英文缩写。它是一个支撑系统,通常是为满足高性能地发布内容而特殊构建的传统Internet 的覆盖网络,CDN存在的理由和目的是使得Internet 成为一种针对关键任务(mission-critical)和丰富媒体内容服务的可信任网络。
下文举例说明计划进行内容发布网(CDN)的建设。例如项目需求如下:
1. CDN网络的规模: 在全国范围内建立若干个节点,例如3个节点。
2. 系统应当具有良好的管理和运营特性,并且有良好的自我管理和自我愈合特性。
3. 本期项目建设应当充分考虑各协议的良好的支持特性而不针对于某种协议进行。同时考虑到讲来可能增加的协议类型。
CDN是内容发布网络(ContentDeliveryNetwork)的英文缩写。它是一个支撑系统,通常是为满足高性能地发布内容而特殊构建的传统Internet 的覆盖网络,CDN存在的理由和目的是使得Internet 成为一种针对关键任务(mission-critical)和丰富媒体内容服务的可信任网络。
下文举例说明计划进行内容发布网(CDN)的建设。例如项目需求如下:
1. CDN网络的规模: 在全国范围内建立若干个节点,例如3个节点。
2. 系统应当具有良好的管理和运营特性,并且有良好的自我管理和自我愈合特性。
3. 本期项目建设应当充分考虑各协议的良好的支持特性而不针对于某种协议进行。同时考虑到讲来可能增加的协议类型。
最近,项目需要在已经编译好的Apache上以动态方式加载rewrite模块。于是,我们在网上找了许多资料,但都讲解得不是很详细且格式错位问题严重。所以我们有必要把这一过程再重述一遍。实际操作步骤如下:
工作现场描述:
Linux 2.4.21
apache_1.3.34.tar.gz 解压后的目录为 /root/apache_1.3.34 文中简称为“源码目录”
apache安装目录 /usr/local/apache 文中简称为“目标目录”
步骤:
1、Apache安装rewrite模块的时候需要DBM支持,否则无法编译,所以首先要安装一个GDBM
下载地址:ftp://ftp.gnu.org/gnu/gdbm/
安装步骤:
进入安装目录,
./configure
make
make install
make install-compat (最后行也要执行。否则无法编译出ndbm.h头文件)
如果您不能确定服务器上是否已经装有DBM,那么可以安装一下。否则这步可以跳过。
工作现场描述:
Linux 2.4.21
apache_1.3.34.tar.gz 解压后的目录为 /root/apache_1.3.34 文中简称为“源码目录”
apache安装目录 /usr/local/apache 文中简称为“目标目录”
步骤:
1、Apache安装rewrite模块的时候需要DBM支持,否则无法编译,所以首先要安装一个GDBM
下载地址:ftp://ftp.gnu.org/gnu/gdbm/
安装步骤:
进入安装目录,
./configure
make
make install
make install-compat (最后行也要执行。否则无法编译出ndbm.h头文件)
如果您不能确定服务器上是否已经装有DBM,那么可以安装一下。否则这步可以跳过。





下载文件 










