网络营销电子商务研究中心  
How to buy the best prescription safety glasses in Canada? Let's study!
Go Back   网络营销电子商务研究中心 > 网站建设 > ZenCart
User Name
Password
 
FAQ Members List Calendar Cheap Glasses

Reply
 
Thread Tools Display Modes
  #1   IP: 49.87.2.24
Old 2016-05-14, 09:29 PM
Jaroso Jaroso is offline
初级会员
 
Join Date: 2010-06-24
Posts: 2
Jaroso 现在声名狼藉
Default MySQL 数据库双向镜像、循环镜像(复制)

在MySQL数据库镜像的贴子中,主数据库A 的数据镜像到从数据库B,是单向的,Zen Cart网店的数据读写

都必须在数据库A进行,结果会自动镜像到数据库B中。但是对数据库B的直接操作,不会影响数据库A。

对于双向数据库镜像,就是数据库A的数据变化要镜像到数据库B中,同时数据库B里的修改也要同时复制到

数据库A里。
对于循环数据库镜像,就是多个数据库A、B、C、D等,对其中任一个数据库的修改,都要同时镜像到其它

的数据库里。

应用:同一个Zen Cart网店的数据库和程序,可以放置在不同的主机上,在任一台主机上新增的订单、客

户资料,都会同时加入其它的主机数据库里。

要实现双向或循环数据库镜像,首先要解决的就是防止数据库中自动递增(AUTO_INCREMENT)字段的冲突,

以免多数据库各自生成一样的增量值。

下面以三台主机循环镜像为例,A是B的主镜像,B是C的主镜像,C是A的主镜像。三台主机上MySQL设置文件

/etc /my.cnf 中分别加入下面的参数:


Code:
# 主机一:美国主机 A, IP: 100.101.102.201
 [mysqld]
 server-id                       = 10
 log-bin                         = mysql-bin
 log-slave-updates
 replicate-same-server-id        = 0
 auto_increment_increment        = 10
 auto_increment_offset           = 1
 master-host                     = 100.101.102.203
 master-user                     = repl_user
 master-password                 = repl_password
 report-host                     = 100.101.102.201

# 主机二:中国主机 B, IP: 100.101.102.202
 [mysqld]
 server-id                       = 20
 log-bin                         = mysql-bin
 log-slave-updates
 replicate-same-server-id        = 0
 auto_increment_increment        = 10
 auto_increment_offset           = 2
 master-host                     = 100.101.102.201
 master-user                     = repl_user
 master-password                 = repl_password
 report-host                     = 100.101.102.202

# 主机三:本地主机 C, IP: 100.101.102.203
 [mysqld]
 server-id                       = 30
 log-bin                         = mysql-bin
 log-slave-updates
 replicate-same-server-id        = 0
 auto_increment_increment        = 10
 auto_increment_offset           = 3
 master-host                     = 100.101.102.202
 master-user                     = repl_user
 master-password                 = repl_password
 report-host                     = 100.101.102.203
简单说明:
server-id:数据库标识,每个数据库标识必须唯一;
replicate-same-server-id:设置为0,防止数据循环更新;
auto_increment_increment:这是循环镜像里最重要的参数之一,表示自动增量为10,这将允许最多10台

数据库加入这个循环镜像的阵列,而自动递增字段不会重复。
auto_increment_offset:这是循环镜像里最重要的参数之一,表示偏移值,每个数据库的偏移值必须唯一

,且在1和auto_increment_increment之间。
master-host:主数据库服务器的IP;
master-user:用于连接主数据库的镜像用户名;
master-password:用于连接主数据库的镜像密码;
report-host:提供给主数据库用于反向连接的IP,因为主数据库有时无法正确判断从服务器的IP,所以这

里最好填上从服务器自己的IP地址。
另外,有时只需要镜像某些数据库,可以在 my.cnf 中加入:
replicate-do-db = db_name1
replicate-do-db = db_name2
replicate-do-db = db_name3

这样就仅仅镜像db_name1/db_name2/db_name3
如果只是某些数据库不要镜像,可以在 my.cnf 中加入:
replicate-ignore-db=db_name1
replicate-ignore-db=db_name2
replicate-ignore-db=db_name3

这样镜像时就忽略 db_name1/db_name2/db_name3 这三个数据库。
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
MySQL毫秒值和日期的指定格式的相互转换 Kaitlin MySQL 0 2015-04-18 11:01 PM
mysql 帮助文档使用 Haddam MySQL 0 2014-11-26 06:43 PM
如何导入导出MySQL数据库 topvip 建站交流 0 2006-10-10 07:43 AM
mysql安装与简单使用 sunshine 服务器环境搭建 0 2006-01-11 07:29 PM
winxp下安装全新的apache,php(5.0),mysql(5.0)... topvip 服务器环境搭建 0 2006-01-08 10:28 PM

Prescription-glasses.com offers prescription glasses online at discount prices.
All times are GMT +8. The time now is 11:07 AM.


Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.