ç§ã¯æ¯èŒçæè¿MySQLãµãŒããŒã®è€è£œã«ç²Ÿéãããã¥ãŒãã³ã°ã§ããŸããŸãªå®éšãè¡ã£ãŠããã®ã§ãèªåããã£ãããšãæžãçããŸããã å€ãã®è³æãéãããããšãããã®èšäºãæžããšããã¢ã€ãã¢ãæµ®äžããŸããã ç§ãééããæãåºæ¬çãªåé¡ã®ããã€ãã«é¢ããã¢ããã€ã¹ãšè§£æ±ºçãéããããšããŸããã ãã®éçšã§ãããã¥ã¡ã³ãããã®ä»ã®ãœãŒã¹ãžã®ãªã³ã¯ãæäŸããŸãã å®å
šãªèª¬æã䞻匵ããããšã¯ã§ããŸãããããã®èšäºã圹ç«ã€ããšãé¡ã£ãŠããŸãã
å°ããªç޹ä»
ã¬ããªã±ãŒã·ã§ã³ïŒlatãReplico-repeatããïŒã¯ã1ã€ä»¥äžã®äŸåãµãŒããŒäžã®ã¡ã€ã³ããŒã¿ããŒã¹ãµãŒããŒããã®ããŒã¿å€æŽã®ã¬ããªã±ãŒã·ã§ã³ã§ãã ã¡ã€ã³ãµãŒããŒã
ãã¹ã¿ãŒãšåŒã³ãäŸåãµãŒããŒã
ã¬ããªã«ãšåŒã³
ãŸã ã
ãŠã£ã¶ãŒãã§çºçããããŒã¿å€æŽã¯ã¬ããªã«ã§ç¹°ãè¿ãããŸãïŒéã®å Žåãåæ§ã§ãïŒã ãããã£ãŠãããŒã¿å€æŽèŠæ±ïŒINSERTãUPDATEãDELETEãªã©ïŒã¯ãŠã£ã¶ãŒãã§ã®ã¿å®è¡ãããããŒã¿èªã¿åãèŠæ±ïŒã€ãŸããSELECTïŒã¯ã¬ããªã«ãšãŠã£ã¶ãŒãã®äž¡æ¹ã§å®è¡ã§ããŸãã ã¬ããªã«ã®1ã€ã§ã®ã¬ããªã±ãŒã·ã§ã³ããã»ã¹ã¯ãä»ã®ã¬ããªã«ã®äœæ¥ã«ã¯åœ±é¿ããããŠã£ã¶ãŒãã®äœæ¥ã«ã¯å®è³ªçã«åœ±é¿ããŸããã
ã¬ããªã±ãŒã·ã§ã³ã¯ããã¹ã¿ãŒãä¿æãã
ãã€ããªãã°ã䜿çšããŠå®è¡ãããŸãã ãããã¯ãããŒã¿ããŒã¹ãžã®å€æŽãå°ãïŒãŸãã¯æœåšçã«å°ãïŒãã¹ãŠã®ã¯ãšãªãä¿åããŸãïŒã¯ãšãªã¯æç€ºçã«ä¿åãããªãããã衚瀺ãããå Žåã¯
mysqlbinlogãŠãŒãã£ãªãã£ã䜿çšãã
å¿
èŠããããŸãïŒã Binlogã¯ã¬ããªã«ã«éä¿¡ããïŒãŠã£ã¶ãŒãããããŠã³ããŒããããBinlogã¯ã
ãªã¬ãŒbinlog ããšåŒã°ããŸãïŒãä¿åããããªã¯ãšã¹ãã¯ç¹å®ã®äœçœ®ããå®è¡ãããŸãã ã¬ããªã±ãŒã·ã§ã³äžã¯ã倿ŽãããããŒã¿èªäœã§ã¯ãªãã倿ŽãåŒãèµ·ãããªã¯ãšã¹ãã®ã¿ãéä¿¡ãããããšãçè§£ããããšãéèŠã§ãã
è€è£œäžãããŒã¿ããŒã¹ã®å
容ã¯è€æ°ã®ãµãŒããŒã«è€è£œãããŸãã ãªãè€è£œã«é Œãå¿
èŠãããã®ã§ããïŒ ããã€ãã®çç±ããããŸãã
- ããã©ãŒãã³ã¹ãšã¹ã±ãŒã©ããªã㣠ã 1ã€ã®ãµãŒããŒããããŒã¿ããŒã¹ã®åæèªã¿åãããã³æžãèŸŒã¿æäœã«ãã£ãŠåŒãèµ·ããããè² è·ã«å¯ŸåŠã§ããªãå ŽåããããŸãã ã¬ããªã«ãäœæããå©ç¹ã¯ãã·ã¹ãã ã®æžãèŸŒã¿æäœããšã®èªã¿åãæäœãå€ãã»ã©å€§ãããªããŸãã
- èéå®³æ§ ã ã¬ããªã«ã«é害ãçºçããå Žåããã¹ãŠã®èªã¿åãèŠæ±ããŠã£ã¶ãŒãã«å®å
šã«è»¢éã§ããŸãã ãã¹ã¿ãŒã«é害ãçºçããå Žåãæžã蟌ã¿èŠæ±ãã¬ããªã«ã«è»¢éã§ããŸãïŒãã¹ã¿ãŒã埩å
ãããåŸãã¬ããªã«ã®åœ¹å²ãåŒãåããããšãã§ããŸãïŒã
- ããŒã¿ããã¯ã¢ãã ã ã¬ããªã«ã¯ãã°ããã®éãã¹ããŒããŠã³ãããŠmysqldumpãå®è¡ã§ããŸããããã¹ã¿ãŒã¯ã§ããŸããã
- é
å»¶èšç® ã ã·ã¹ãã å
šäœã®éåžžã®åäœã劚ããããšãæããã«ãéãäœéã®SQLã¯ãšãªãå¥ã®ã¬ããªã«ã§å®è¡ã§ããŸãã
ããã«ãä»ã«ãè峿·±ãæ©èœãããã€ããããŸãã ããŒã¿èªäœã¯ã¬ããªã«ã«è»¢éãããããããã倿Žããã¯ãšãªã転éãããããããã¹ã¿ãŒãšã¬ããªã«ã§ç°ãªãããŒãã«æ§é ã䜿çšã§ããŸãã ç¹ã«ãããŒãã«ïŒãšã³ãžã³ïŒãŸãã¯ã€ã³ããã¯ã¹ã®ã»ããã®ã¿ã€ãã¯ç°ãªãå ŽåããããŸãã ããšãã°ããã«ããã¹ãæ€çŽ¢ãå®è¡ããã«ã¯ããŠã£ã¶ãŒããInnoDBã䜿çšãããšããäºå®ã«ãããããããã¬ããªã«ã§MyISAMããŒãã«ã¿ã€ãã䜿çšã§ããŸãã
ã¬ããªã±ãŒã·ã§ã³ã®ã»ããã¢ãã
ãã§ã«ããŒã¿ã§æºããããäœæ¥ã«å«ãŸããŠããäœæ¥çšMySQLããŒã¿ããŒã¹ããããšããŸãã ãŸããäžèšã®çç±ã®1ã€ã«ããããµãŒããŒã®ã¬ããªã±ãŒã·ã§ã³ãæå¹ã«ããŸãã çããŒã¿ïŒ
- ãŠã£ã¶ãŒãã®IPã¢ãã¬ã¹ã¯192.168.1.101ãã¬ããªã«ã¯192.168.1.102ã§ãã
- MySQLãã€ã³ã¹ããŒã«ããã³æ§æãããŠãã
- testdbããŒã¿ããŒã¹ã®è€è£œãå¿
èŠ
- ãã°ãããŠã£ã¶ãŒããäžæåæ¢ã§ããŸã
- ãã¡ãããäž¡æ¹ã®ãã·ã³ã«ã«ãŒãããããŸã
ãŠã£ã¶ãŒãèšå®
[mysqld]ã»ã¯ã·ã§ã³ã§ãäžæã®ãµãŒããŒIDããã€ããªãã°ã®ãã¹ãããã³ã¬ããªã±ãŒã·ã§ã³çšã®ããŒã¿ããŒã¹ã®ååãå¿
ãæå®ããŠãã ããã
server-id = 1
log-bin = /var/lib/mysql/mysql-bin
replicate-do-db = testdb
ãã€ããªãã°çšã®ååãªãã£ã¹ã¯é åãããããšã確èªããŠãã ããã
è€è£œãå®è¡ãããæš©éãæã€è€è£œãŠãŒã¶ãŒã远å ããŸãã ã
ã¬ããªã±ãŒã·ã§ã³ã¹ã¬ãŒã ãæš©éã§ååã§ãã
mysql@master> GRANT replication slave ON "testdb".* TO "replication"@"192.168.1.102" IDENTIFIED BY "password";
èšå®ã®å€æŽãæå¹ã«ããããã«MySQLãåèµ·åããŸãã
root@master# service mysqld restart
ãã¹ãŠãããŸããã£ãå Žåã
show master statusã³ãã³ãã¯æ¬¡ã®ããã«è¡šç€ºãããŸãã
mysql@master> SHOW MASTER STATUS\G
File: mysql-bin.000003
Position: 98
Binlog_Do_DB:
Binlog_Ignore_DB:
ãŠã£ã¶ãŒãã§ããŒã¿ããŒã¹ã«å€æŽãå ãããããšãäœçœ®ã®å€ãå¢å ããã¯ãã§ãã
ã¬ããªã«èšå®
æ§æã®[mysqld]ã»ã¯ã·ã§ã³ã§ãµãŒããŒIDãã¬ããªã±ãŒã·ã§ã³çšã®ããŒã¿ããŒã¹åãããã³ãªã¬ãŒbinlogãžã®ãã¹ãæå®ããŠãMySQLãåèµ·åããŸãã
server-id = 2
relay-log = /var/lib/mysql/mysql-relay-bin
relay-log-index = /var/lib/mysql/mysql-relay-bin.index
replicate-do-db = testdb
root@replica# service mysqld restart
ããŒã¿ã転éãã
ããã§ã¯ãèšé²ã®ããã«ããŒã¿ããŒã¹ãããã¯ããå¿
èŠããããŸãã ãããè¡ãã«ã¯ãã¢ããªã±ãŒã·ã§ã³ã忢ãããããŠã£ã¶ãŒãã§
read_onlyãã©ã°ã䜿çšããŸãïŒæ³šïŒãã®ãã©ã°ã¯ãSUPERç¹æš©ãæã€ãŠãŒã¶ãŒã«å¯ŸããŠã¯æ©èœããŸããïŒã MyISAMããŒãã«ãããå Žåãã
ãã©ãã·ã¥ããŒãã« ããäœæããŸãã
mysql@master> FLUSH TABLES WITH READ LOCK;
mysql@master> SET GLOBAL read_only = ON;
ãshow master statusãã³ãã³ãã䜿çšããŠãŠã£ã¶ãŒãã®ç¶æ
ã確èªããFileãšPositionã®å€ãèŠããŠã¿ãŸãããïŒãŠã£ã¶ãŒããæ£åžžã«ããã¯ãããåŸããããã¯å€æŽãããŸããïŒã
File: mysql-bin.000003
Position: 98
, :
mysql@master> SET GLOBAL read_only = OFF;
.
æåŸã«ãã
change master to ãããã³ã
start slave ãã³ãã³ãã§ã¬ããªã±ãŒã·ã§ã³ãéå§ãããã¹ãŠãããŸããã£ããã©ããã確èªããŸãã
mysql@replica> CHANGE MASTER TO MASTER_HOST = "192.168.1.101 ", MASTER_USER = "replication ", MASTER_PASSWORD = "password ", MASTER_LOG_FILE = "mysql-bin.000003 ", MASTER_LOG_POS = 98;
mysql@replica> start slave;
ãŠã£ã¶ãŒãããååŸããå€MASTER_LOG_FILEããã³MASTER_LOG_POSã
ã
show slave status ãã³ãã³ãã§ã¬ããªã±ãŒã·ã§ã³ãã©ã®ããã«è¡ãããããèŠãŠã¿ãŸãããã
mysql@replica> SHOW SLAVE STATUS\G
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.101
Master_User: replication
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000003
Read_Master_Log_Pos: 98
Relay_Log_File: mysql-relay-bin.001152
Relay_Log_Pos: 235
Relay_Master_Log_File: mysql-bin.000003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: testdb,testdb
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 98
Relay_Log_Space: 235
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 5
ä»ç§ã匷調ããæãè峿·±ãå€ã ã¬ããªã±ãŒã·ã§ã³ãæ£åžžã«éå§ããããšããããã®å€ã¯ãªã¹ããšã»ãŒåãã«ãªããŸãïŒããã¥ã¡ã³ãã®ã
show slave status ãã³ãã³ãã®èª¬æãåç
§ïŒã Seconds_Behind_Masterã®å€ã¯ä»»æã®æŽæ°ã§ãã
ã¬ããªã±ãŒã·ã§ã³ãæ£åžžã«é²è¡ããŠããå Žåãã¬ããªã«ã¯ãã¹ã¿ãŒã«åŸããŸãïŒMaster_Log_Fileã®ãã°çªå·ãšExec_Master_Log_Posã®äœçœ®ãå¢å ããŸãïŒã ãã¹ã¿ãŒïŒSeconds_Behind_MasterïŒããã®ã¬ããªã«ã®é
å»¶æéã¯ãçæ³çã«ã¯ãŒãã§ããå¿
èŠããããŸãã çž®å°ãŸãã¯æ¡å€§ããªãå Žåãã¬ããªã«ã®è² è·ãé«ãããå¯èœæ§ããããŸãããŠã£ã¶ãŒãã§çºçãã倿Žãç¹°ãè¿ãæéããããŸããã
Slave_IO_Stateã空ã§Seconds_Behind_MasterãNULLã®å Žåãã¬ããªã±ãŒã·ã§ã³ã¯éå§ãããŠããŸããã MySQLãã°ã§çç±ã確èªããä¿®æ£ããŠãã¬ããªã±ãŒã·ã§ã³ãåéããŸãã
mysql @ replica> start slave;
ãããã®ç°¡åãªã¢ã¯ã·ã§ã³ã«ããããã¹ã¿ãŒäžã®ããŒã¿ãšåäžã®ããŒã¿ãæã€ã¬ããªã«ãååŸããŸãã
ãšããã§ããŠã£ã¶ãŒãã®ããã¯æéã¯ããã³ããäœæããæéã§ãã 蚱容ã§ããªãã»ã©é·ãäœæãããå Žåããããè¡ãããšãã§ããŸãïŒ
- read_onlyãã©ã°ã䜿çšããŠãã¹ã¿ãŒãžã®æžã蟌ã¿ããããã¯ããäœçœ®ãèšæ¶ããŠMySQLã忢ããŸãã
- ãã®åŸãããŒã¿ããŒã¹ãã¡ã€ã«ãã¬ããªã«ã«ã³ããŒãããŠã£ã¶ãŒããæå¹ã«ããŸãã
- éåžžã®æ¹æ³ã§ã¬ããªã±ãŒã·ã§ã³ãéå§ããŸãã
ãŠã£ã¶ãŒãããŸã£ãã
忢ããã«ã¬ããªã«ãäœæããæ¹æ³ã¯ããã€ããããŸãããåžžã«æ©èœãããšã¯éããŸããã
ã¬ããªã«ã远å ãã
æ¢ã«äœæ¥äžã®ãã¹ã¿ãŒãšã¬ããªã«ãããããããã«å¥ã®ãã¹ã¿ãŒã远å ããå¿
èŠããããšããŸãã ããã¯ãæåã®ã¬ããªã«ããŠã£ã¶ãŒãã«è¿œå ãããããç°¡åã§ãã ãããŠããã£ãšè¯ãã®ã¯ããã®ããã«ãã¹ã¿ãŒã忢ããå¿
èŠããªãããšã§ãã
æåã«ã2çªç®ã®ã¬ããªã«ã§MySQLãæ§æããæ§æã§å¿
èŠãªãã©ã¡ãŒã¿ãŒãäœæããããšã確èªããŸãã
server-id = 3
replicate-do-db = testdb
次ã«ãæåã®ã¬ããªã«ã§ã¬ããªã±ãŒã·ã§ã³ã忢ããŸãã
mysql@replica-1> stop slave;
ã¬ããªã«ã¯åŒãç¶ãæ£åžžã«æ©èœããŸãããã¬ããªã«äžã®ããŒã¿ã¯é¢ä¿ãªããªããŸãã ã¹ããŒã¿ã¹ãèŠãŠãè€è£œã忢ããåã«ã¬ããªã«ãå°éãããŠã£ã¶ãŒãã®äœçœ®ãèŠããŠã¿ãŸãããã
mysql@replica-1> SHOW SLAVE STATUS\G
Master_Log_FileãšExec_Master_Log_Posã®å€ãå¿
èŠã§ãã
Master_Log_File: mysql-bin.000004
Exec_Master_Log_Pos: 155
ããŒã¿ããŒã¹ãã³ããäœæããæåã®ã¬ããªã«ã§ã¬ããªã±ãŒã·ã§ã³ãç¶è¡ããŸãã
mysql@replica-1> START SLAVE;
2çªç®ã®ã¬ããªã«ã®ãã³ãããããŒã¿ãå埩ããŸãã æ¬¡ã«ãã¬ããªã±ãŒã·ã§ã³ãæå¹ã«ããŸãã
mysql@replica-2> CHANGE MASTER TO MASTER_HOST = "192.168.1.101 ", MASTER_USER = "replication ", MASTER_PASSWORD = "password ", MASTER_LOG_FILE = "mysql-bin.000004 ", MASTER_LOG_POS = 155;
mysql@replica-2> START SLAVE;
å€MASTER_LOG_FILEããã³MASTER_LOG_POSã¯ãæåã®ã¬ããªã«ã§ã®show slave statusã³ãã³ãã®çµæããã®Master_Log_Fileããã³Exec_Master_Log_Posã®å€ã§ãã
è€è£œã¯ãæåã®ã¬ããªã«ã忢ãããäœçœ®ããéå§ããå¿
èŠããããŸãïŒãããã£ãŠããã³ããäœæãããŸããïŒã ãããã£ãŠãåãããŒã¿ãæã€2ã€ã®ã¬ããªã«ããããŸãã
ã¬ããªã«ã®ããŒãž
ãã®ç¶æ³ãçºçããå ŽåããããŸãããã¹ã¿ãŒã«ã¯2ã€ã®ããŒã¿ããŒã¹ããããäžæ¹ã¯äžæ¹ã®ã¬ããªã«ã«è€è£œãããããäžæ¹ã¯ããäžæ¹ã®ã¬ããªã«ã«è€è£œãããŸãã ãã¹ã¿ãŒã§ãã³ããäœæãããäœæ¥ããã·ã£ããããŠã³ããã«ãäž¡æ¹ã®ã¬ããªã«ã§2ã€ã®ããŒã¿ããŒã¹ã®ã¬ããªã±ãŒã·ã§ã³ãæ§æããæ¹æ³ ã
start slave until ãã³ãã³ãã䜿çšããŠååã«ç°¡åã§ãã
ãããã£ãŠãmasterã«ã¯testdb1ããã³testdb2ããŒã¿ããŒã¹ãããããããã¯ãããã
replica-1ããã³ replica-2ã¬ããªã«ã«è€è£œãããŸã
ã ãŠã£ã¶ãŒãã忢ããã«ãäž¡æ¹ã®ããŒã¿ããŒã¹ã®ã¬ããªã«1ãžã®ã¬ããªã±ãŒã·ã§ã³ãæ§æããŸãã
ã³ãã³ãã䜿çšããŠã¬ããªã«2ã®ã¬ããªã±ãŒã·ã§ã³ã忢ãããŠã£ã¶ãŒãã®äœçœ®ãèšæ¶ããŸãã
mysql@replica-2> STOP SLAVE;
mysql@replica-2> SHOW SLAVE STATUS\G
Master_Log_File: mysql-bin.000015
Exec_Master_Log_Pos: 231
testdb2ããŒã¿ããŒã¹ã®ãã³ããäœæããŠãã¬ããªã±ãŒã·ã§ã³ãåéããŸãããïŒããã§ã¬ããªã«2ã®æäœã¯çµäºããŸããïŒã ãã³ã
ãreplica-1ã«åŸ©å
ã
ãŸããreplica-1ã®ç¶æ³ã¯æ¬¡ã®ãšããã§ããtestdb1ããŒã¿ããŒã¹ã¯ãã¹ã¿ãŒã®1ã€ã®äœçœ®ã«ãããè€è£œãç¶è¡ããtestdb2ããŒã¿ããŒã¹ã¯å¥ã®äœçœ®ã®ãã³ããã埩å
ãããŸãã ããããåæããŸãã
è€è£œã忢ãããŠã£ã¶ãŒãã®äœçœ®ãèŠããŠãããŠãã ããã
mysql@replica-1> STOP SLAVE;
mysql@replica-1> SHOW SLAVE STATUS\G
Master_Log_File: mysql-bin.000016
Exec_Master_Log_PosïŒ501[mysqld]ã»ã¯ã·ã§ã³ã®
replica-1æ§æã«2çªç®ã®ããŒã¿ããŒã¹ã®ååãå«ãŸããŠããããšã確èªããŸãã
replicate-do-db = testdb2
èšå®ã®å€æŽãæå¹ã«ããããã«MySQLãåèµ·åããŸãã ã¡ãªã¿ã«ãã¬ããªã±ãŒã·ã§ã³ã忢ããã«MySQLãåèµ·åããããšãã§ããŸãããã°ããããŠã£ã¶ãŒãã®ã¬ããªã±ãŒã·ã§ã³ã®ã©ã®äœçœ®ã§åæ¢ããããããããŸãã
次ã«ã
ã¬ããªã«2ãäžæã
ããäœçœ®
ããã¬ããªã±ãŒã·ã§ã³ã忢
ããäœçœ®ã«ã¬ããªã±ãŒãããŸãã
mysql@replica-1> CHANGE MASTER TO MASTER_HOST = "192.168.1.101 ", MASTER_USER = "replication ", MASTER_PASSWORD = "password ", MASTER_LOG_FILE = "mysql-bin.000015 ", MASTER_LOG_POS = 231;
mysql@replica-1> start slave until MASTER_LOG_FILE = "mysql-bin.000016 ", MASTER_LOG_POS = 501;
è€è£œã¯ãã¬ããªã«ãuntilã»ã¯ã·ã§ã³ã®æå®ãããäœçœ®ã«éãããšããã«çµäºããŸãããã®åŸãäž¡æ¹ã®ããŒã¿ããŒã¹ããŠã£ã¶ãŒãã®åãäœçœ®ïŒ
ã¬ããªã«1ã§è€è£œã忢ããå Žæ
ïŒã«å¯Ÿå¿ããŸãã ããã確èªããŠãã ããïŒ
mysql@replica-1> SHOW SLAVE STATUS\G
mysql@replica-1> START SLAVE;
Master_Log_File: mysql-bin.000016
Exec_Master_Log_Pos: 501
replica-1 [mysqld] :
replicate-do-db = testdb1
replicate-do-db = testdb2
: .
MySQLãåèµ·åããŠã¬ããªã±ãŒã·ã§ã³ãç¶è¡ããŸãã
mysql@replica-1> CHANGE MASTER TO MASTER_HOST = "192.168.1.101 ", MASTER_USER = "replication ", MASTER_PASSWORD = "password ", MASTER_LOG_FILE = "mysql-bin.000016 ", MASTER_LOG_POS = 501;
ãã¹ã¿ãŒreplica-1ã远ãã€ããåŸãããŒã¿ããŒã¹ã®å
容ã¯åãã«ãªããŸãã åæ§ã®æ¹æ³ã§ããŸãã¯
replica-1ã®å®å
šãªãã³ããäœæããŠãreplica-2äžã®ããŒã¿ããŒã¹ãããŒãžã§ããŸã
ããã£ã¹ãªã³ã°ãã¹ã¿ãŒãšã¬ããªã«
ããšãã°ããŠã£ã¶ãŒãã倱æããå Žåãæè¡çãªäœæ¥äžã«ãã¬ããªã«ããŠã£ã¶ãŒãã¢ãŒãã«åãæ¿ããå¿
èŠãããå ŽåããããŸãã ãã®ãããªã¹ã€ãããæå¹ã«ããã«ã¯ãã¬ããªã«ããã¹ã¿ãŒã®ããã«æ§æããããããã
ããã·ããã¹ã¿ãŒã«ããå¿
èŠããããŸãã
[mysqld]ã»ã¯ã·ã§ã³ã®èšå®ã§ïŒãªã¬ãŒbinlogã«å ããŠïŒãã€ããªãã°ãæå¹ã«ããŸãã
log-bin = /var/lib/mysql/mysql-bin
ãããŠãã¬ããªã±ãŒã·ã§ã³çšã®ãŠãŒã¶ãŒã远å ããŸãã
mysql@master> GRANT replication slave ON 'testdb'.* TO 'replication'@'192.168.1.101â² IDENTIFIED BY "password ";
ããã·ããŠã£ã¶ãŒãã¯éåžžã®ã¬ããªã«ã®ããã«è€è£œããŸãããããã«ãã€ããªããžãã¯ãäœæããŸããã€ãŸããããããè€è£œãéå§ã§ããŸãã ãããã³ãã³ãã
show master status ãã§
確èªããŸã ã
mysql@replica> SHOW MASTER STATUS\G
File: mysql-bin.000001
Position: 61
Binlog_Do_DB:
Binlog_Ignore_DB:
ããã§ãããã·ããã¹ã¿ãŒãã¢ã¯ãã£ãã¢ãŒãã«ããã«ã¯ããã®ãã¹ã¿ãŒã§ã¬ããªã±ãŒã·ã§ã³ã忢ãã以åã®ã¢ã¯ãã£ããã¹ã¿ãŒã§ã¬ããªã±ãŒã·ã§ã³ãæå¹ã«ããå¿
èŠããããŸãã åãæ¿ãæã«ããŒã¿ã倱ãããªãããã«ããã«ã¯ã
ã¢ã¯ãã£ããã¹ã¿ãŒãæžã蟌ã¿çšã«ããã¯ããå¿
èŠããããŸãã
mysql@master> FLUSH TABLES WITH READ LOCK
mysql@master> SET GLOBAL read_only = ON;
mysql@replica> STOP SLAVE;
mysql@replica> SHOW MASTER STATUS;
File: mysql-bin.000001
Position: 61
mysql@master> CHANGE MASTER TO MASTER_HOST = "192.168.1.102 ", MASTER_USER = "replication ", MASTER_PASSWORD = "password ", MASTER_LOG_FILE = "mysql-bin.000001 ", MASTER_LOG_POS = 61;
mysql@master> start slave;
以äžã§ãã¢ã¯ãã£ããã¹ã¿ãŒã倿ŽããŸããã å
ã®ãã¹ã¿ãŒããããã¯ãåé€ã§ããŸãã
ãããã«
MySQLã§ã¬ããªã±ãŒã·ã§ã³ãæ§æããããã€ãã®åºæ¬çãªæäœãå®è¡ããæ¹æ³ãå°ãçè§£ããŸããã æ®å¿µãªãããæ¬¡ã®éèŠãªè³ªåã¯èšäºã®ç¯å²å€ã§ããã
- åäžé害ç¹ïŒSPFãåäžé害ç¹ïŒã®é€å»ã åäžã®MySQLãµãŒããŒã䜿çšããå Žåããã®é害ã¯ã·ã¹ãã å
šäœã®é害ã«ã€ãªãããŸããã è€æ°ã®ãµãŒããŒã䜿çšããŠããå Žåããããã®ããããã«é害ãçºçãããšãç¹ã«å¯ŸåŠããªãéããã·ã¹ãã é害ãçºçããŸãã ãã¹ã¿ãŒãšã¬ããªã«ã«é害ãçºçããç¶æ³ãåŠçããå¿
èŠããããŸãã ãã ããæ¢åã®ããŒã«ã®1ã€ã§ããMMMã¯ããã¡ã€ã«ã§ãã¡ã€ãã©ã€ãºããå¿
èŠããããŸãã
- è² è·åæ£ã è€æ°ã®ã¬ããªã«ã䜿çšããå Žåãç¹ã«ã¬ããªã«ã®ããã©ãŒãã³ã¹ãåãã§ã¯ãªãå Žåãééçãªãã©ã³ã¹èª¿æŽã¡ã«ããºã ã䜿çšãããšäŸ¿å©ã§ãã Linuxã§ã¯ãæšæºãœãªã¥ãŒã·ã§ã³ã§ããLVSã䜿çšã§ããŸãã
- ã¢ããªã±ãŒã·ã§ã³ã®ããžãã¯ã倿ŽããŸãã çæ³çãªç¶æ³ã§ã¯ãããŒã¿ã®èªã¿åãèŠæ±ã¯ã¬ããªã«ã«éä¿¡ããã倿ŽèŠæ±ã¯ãã¹ã¿ãŒã«éä¿¡ãããŸãã ãã ããã¬ããªã«ã®é
å»¶ã®å¯èœæ§ããããã ããã®ãããªã¹ããŒã ã¯å€ãã®å Žåæ©èœããªãããããŠã£ã¶ãŒãã§å®è¡ããå¿
èŠãããèªã¿åãèŠæ±ãèå¥ããå¿
èŠããããŸãã
ä»åŸã®èšäºã§ãããã®åé¡ãåãäžããããšæããŸãã
ãæž
èŽããããšãããããŸããïŒ