You are on page 1of 21

H qun tr C s d liu

To bn sao (Replication)

L Hng Hi, hailh@vnu.edu.vn B mn CHTTT, H Cng ngh

Bn sao CSDL

Cc cp nht ti mt CSDL s c t ng sao chp ti cc bn sao (replicas) khc Cc cp nht ti bn ch (master) Cc truy vn c d liu c th c gn cho CSDL ch hoc cc CSDL t (slaves)

Hnh minh ha

u im ca To bn sao

Tnh sn sng (avaiablity): Cc bn sao c th s dng nh "hot" backup, nu CSDL ch khng sn sng, cc bn sao c th m nhim nh l bn ch cho n khi li c x l Sao lu: Replicas c th s nh bn sao lu, c th c s dng thc hin cc sao lu di m khng cn kha bn chnh (master) Cn bng ti (Load Balancing): Cc truy vn c c th phn tn ti cc bn sao khc nhau Tng thi gian p ng: Cc bn sao c th gn ngi dng, dn n tng thi gian p ng

To bn sao

To bn sao l cng ngh tng i mi vn ang trong qu trnh tin trin. m bo rng cp ti ti liu ca phin bn mi

M hnh to bn sao ca MySQL

Trong MySQL, qu trnh to bn sao l qu trnh mt chiu, khng ng b (one-way, asynchronous) CSDL ch s lu tt c cc cp nht trong file log nh phn. Cc cp nht trong file log sau c s dng ng b CSDL trn server t Cc server t kt ni ti server ch c file log v cp nht cc thay i

Cc bc thit lp c bn trong qu trnh to bn sao (1)

Bt ch binary logging trn CSDL ch To mt bn sao ca CSDL ch Bt u mt binary log ngay sau khi sao lu Thit lp mt ti khon ngi dng trn CSDL ch gn quyn replication cho CSDL t (cho php server t c th truy cp ti server ch nhn d liu cp nht)

Cc bc thit lp c bn trong qu trnh to bn sao (2)

Gn mt s duy nht lm nh danh cho cc server tham gia qu trnh to bn sao (server-id) Kha tt c cp nht ti server ch Np cc bn sao lu ca CSDL ch vo CSDL t p cc Cp nht t log nh phn vo CSDL t ng b vi CSDL ch Chy c hai bn ch v t

Cc file h tr trn Server t


Khi thc thi, server t duy tr mt tp cc file h tr qu trnh to bn sao. MySQL t ng to cc file trn server t <host>-relay-bin.<extension>: cha cc cu lnh c s dng ng b CSDL t vi CSDL trong server ch. Cc file relay log nhn d liu t file nh phn trn server ch master.info: Cha thng tin kt ni nh: tn server ch, ti khon ngi dng, mt khu. Thng tin v file nh phn cui cng truy cp trn server ch v v tr trong file relay-log.info: cha thng tin v v cc file relay log v v tr cui cng trong cc file m CSDL sao c nht

File h tr trn Server t

MySQL xa file relay log (<host>-relay-bin.<prefix number>) sau khi cc lnh trong file c thi hnh v CSDL sao c cp nht Nu sao lu mt server t, nn sao lu cc file relay log files, master.info file, v relay- log.info file c th phc hi server t nu cn thit

Chi tit ci t trin khai

Thit lp Replication User (bn master)

cho php server ch sao d liu ti server t, cn thit lp ti khon ngi s dng trn server ch. Server t sau s dng ti khon thit lp kt ni ti server ch: GRANT REPLICATION SLAVE ON *.* TO '<slave account>'@'<slave host>' IDENTIFIED BY '<password>';

Quyn REPLICATION SLAVE ti mc ton cc cho php tt c cc thay i ti mt CSDL s c sao chp sang CSDL ti my t

Thit lp nh danh

Gn mt s duy nht lm nh danh cho cc server tham gia qu trnh to bn sao Ty chn: server-id Cc nh danh cn l duy nht. Ngha l mi ID cn khc vi cc ID c s dng bi master v cc slave khc

Sao lu d liu

C hai cch ly d liu t cc bng c sn bn master sang slave: To CSDL dump S dng lnh LOAD DATA FROM MASTER;

Thng tin file log

SHOW MASTER STATUS ly tn file log v v tr trong file log +---------------+----------+--------------+------------------+ | File | Position | Binlog_do_db | Binlog_ignore_db | +---------------+----------+--------------+------------------+ | mysql-bin.006 | 183 | exampledb | | +---------------+----------+--------------+------------------+ 1 row in set (0.00 sec)

Cu hnh bn Slave

Nu c CSDL dump bn master, nhp CSDL dump vo bn slave Nu khng s dng CSDL dump, s dng lnh LOAD DATA FROM MASTER nhp d liu t bn master Sau khi nhp s dng lnh SLAVE STOP;

Cu hnh bn Slave

Trong cu lnh tip theo, thay gi tr cu hnh thch hp ti master. V d: CHANGE MASTER TO MASTER_HOST='192.168.0.100', MASTER_USER='slave_user', MASTER_PASSWORD='<some_password>', MASTER_LOG_FILE='mysql-bin.006', MASTER_LOG_POS=183;

Cu hnh bn Slave

Khi ng slave START SLAVE; quit; Kim tra bt c khi thay i CSDL bn master, tt c cc thay i s c sao sang CSDL t

Cch cc server nh gi cc lut lc sao chp (Replication Filtering Rules)

Bn pha master, c th iu khin CSDL s log cc thay i bng cch s dng ty chn --binlog-do-db v --binlog-ignore-db S dng lc bn pha slave iu khin s kin no s thi hnh trn slave Cc ty chn mc CSDL --replicate-do-db, -replicate-ignore-db

Qu trnh nh gi bn slave

Ti liu tham kho

http://www.mysql.com http://dev.mysql.com/doc/refman/5.5/en/ http://www.learn-mysql-tutorial.com/

You might also like