Mysql Replication

Allikas: Kuutõrvaja
Redaktsioon seisuga 4. juuni 2007, kell 13:27 kasutajalt Jj (arutelu | kaastöö)

Antud pala räägib mysql'i ühest serverist teise replikeerimisest näiteks failover puhuks kui master server katki

installime mõlemasse serverisse mysql'i

oletame ,et esimene server on 192.168.1.1 ja teine 192.168.1.2


Serveripoolne seadistus on väga lihtne

my.cnf

[mysqld]
log-bin = ServerA.bin.log
server-id = 1

ja kõik. Stardime serverid

loome master serverile replikeerimiseks vajaliku kasutaja

mysql> GRANT REPLICATION SLAVE, SUPER, RELOAD, SELECT ON *.* TO 'user_name'@'192.168.1.2' IDENTIFIED BY 'parool';


replikatsioon siiski veel ei toimi


logime master'i mysql'i

mysql> show master status;
+----------------+----------+--------------+------------------+
| File           | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+----------------+----------+--------------+------------------+
| ServerA.000024 |   136208 |              |                  |
+----------------+----------+--------------+------------------+
1 row in set (0.00 sec)


jätame mällu ServerA.000024 ja 136208

nüüd logime slave serverisse ja trükime


mysql> change master to master_host='192.168.1.1',

 ->     master_user='user_name',
 ->     master_password='parool',
 ->     master_log_file='ServerA.000024',
 ->     master_log_pos=136208; 

ja stardime replikatsiooni

mysql> slave start; 

kui replikatsioon peaks mingil juhul katkema saab seda uuesti startida käsuga


mysql> change master to master_log_file='ServerA.000024', master_log_pos=136208; 

logi nimi ja pos tuleb eelnevalt taas masterist vaadata