Professional Documents
Culture Documents
11-Tao Ban Sao Replication)
11-Tao Ban Sao Replication)
To bn sao (Replication)
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
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
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)
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
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
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;
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
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