mysql replicationʵÏÖ_xiaolei1982_°Ù¶È¿Õ¼ä " href="http://van.bigboobsidol.com/feed//tr/intel/nav/locator.htm" /><img src="http://img86.imageshack.us/img86/8434/scan00046rw.jpg"/>mysql replic<img src="http://media-content.flixya.com.s3.amazonaws.com/files/zaidws178955.jpg?AWSAccessKeyId=1TKE66PETJJHG8051M02&Expires=2113518131&Signature=Sn%2F%2By5iVoFPqEeLrC0KvMwCnDEU%3D"/>ationʵÏÖ_xiaolei1982_°Ù¶È<img src="http://dvweb.mpf.arcstarmusic.com/image/ff6f743a/ff6f743a-aaab-4a9c-ac12-aa8790b044fa.BIG.Jpg"/>¿<img src="http://streetfiles.org/img/user/22864/L/UTkU7iQNsGGIl1PNEI4t1265241936.jpg"/>Õ¼ä

Big Boogs

mysql replicationʵÏÖ_xiaolei1982_°Ù¶È¿Õ¼ä

Van Bigboobsidol Tr Intel Nav Locator Big Boobs Big Boogs Idol

´ÏÖʵͬ²½


Ô­Òò¿ÉÄܺܶàÏÈÁоÙ×Ô¼ºÓöµ½£º
1¡¢ Master_Log_File: mysql-bin.000001
Read_Master_Log_Po98
ÈÕÖ¾ÎļþºÍλÖÃÓëLinuxA£¨Master£©µÄµ±Ç°×´Ì¬²»Ò»ÖÂ
½â¾ö·½Ê½£º£¨ÔÚLinuxBµÄmysql²Ù×÷£©
mysql>slave stop;(ÐÞ¸ÄǰÏȹرÕslave)
mysql>change master to
>master_log_file='mysql-bin.000001'  (ps:ÓëLinuxAÖеÄmasterµÄÈÕÖ¾ÎļþÃûÏàͬ)
>master_log_pso=98 (ps:ÓëLinuxAÖеÄmasterµÄÈÕÖ¾Îļþµ±Ç°Î»ÖÃÏàͬ)
>master_user='backa'  (Èç¹ûͬ²½µÄÕË»§²»Ò»Ö£¬Ò²¿ÉÔÚ´ËÐÞ¸Ä)
>master_password='backa'  (Èç¹ûͬ²½µÄÕË»§ÃÜÂë²»Ò»Ö£¬Ò²¿ÉÔÚ´ËÐÞ¸Ä)
>;

(PS:Èç¹ûÖØÐÂÐÞ¸Ä/etc/my.cnf ÖÐÏà¹ØslaveµÄÅäÖÃÐÅÏ¢£¬ÖØÐÂÆô¶¯²é¿´ slaveµÄ״̬»¹ÊÇÏÔʾδÐ޸ĵÄÊý¾Ý£¬Ó¦ÎªµÚÒ»´ÎÊǶÁÈ¡my.cnf£¬Ö®ºó¾Í»áÔÚ/var/lib/mysql/ÏÂ

Éú³ÉÒ»¸ömaster.info µÄÎļþ£¬Òò´ËµÚ¶þ´Î¾Í²»»á¶ÁÈ¡my.cnfµÄÄÚÈÝ£¬¶øÊǶÁÈ¡master.infoÖеÄÄÚÈÝ£¬Îª´ËÒªÏëÊ¹ÖØÐÂÐ޸ĵÄmy.cnfÉúЧµÄ»°£¬É¾³ý master.infoÎļþ£¬ÖØÆðmysql

¼´¿É)
mysql>slave start;(ÖØÐÂÆô¶¯slave)

mysql>show slave status\G (²é¿´slave״̬)

Èç¹ûÏÔʾµÄ Slave_IO_State: Waiting for master to send event
Slave_IO_Running: Yes 
Slave_SQL_Running: Yes
×£ºØ³É¹¦ÊµÏÖµ¥Ïòͬ²½¼´ linuxA --> linuxB µÄͬ²½£»
ÔÚLinuxAµÄmysqlÉ϶ÔtestµÄ insert £¬ delete £¬update¼°¶Ô±í½á¹¹µÄÐ޸ĵȲÙ×÷ ¶¼»áͬ²½µ½ LinuxBµÄmysqlÉϵÄtestÊý¾Ý¿âÉÏ
£¨ps£ºÈç¹ûÔÚmasterÉÏÖ´ÐÐÈç insert into to stu (uuid(),'yushan') Ôòͬ²½µ½ slaveÉÏ £¬id²»Í¬£¬ÒòΪÆäidÊÇÓÃuuidÉú³ÉµÄ£¬ËùÒԻ᲻һÖ£¬Ö®ºó¶ÔÕâÌõÊý¾ÝµÄ

delete ºÍ updateÔò²»»áʵÏÖͬ²½£©

Èý¡¢Ë«Ïòͬ²½£¨LinuxA<--->LinuxB£©

Ë«Ïòͬ²½×îºÃʹÓõÄmysql°æ±¾ÒªÒ»Ö£¬±£Ö¤¶þ½øÖÆÈÕÖ¾binlogµÄ¸ñʽÏàͬ£»Ë«Ïòͬ²½¼´¶ÔÈκÎÒ»·½mysqlµÄ insert£¬update£¬delete£¬alterµÈ²Ù×÷¶¼»áÓ°Ïìµ½ÁíÒ»·½mysqlÖÐ

µÄÊý¾Ý£»ÓÉÓÚÇ°ÃæÒѳɹ¦ÉèÖõ¥Ïòͬ²½£¬ÔÚ´Ë»ù´¡ÉÏ£¬°ÑLinuxB£¨Slave£©µÄÅäÖà Ìí¼Óµ½ LinuxA(Master) ÉÏ£¬°ÑLinuxA£¨Master£©µÄÅäÖÃÌí¼Óµ½LinuxB£¨Slave£©ÉÏ£¬È»ºóÆô¶¯Éè

ÖÃͬ²½µÄbinlongÎļþ¼°µ±Ç°Î»Öü´¿É,¾ßÌå²Ù×÷ÈçÏ£º

1¡¢ LinuxA ÔÚÔ­ÓÐMasterµÄ»ù´¡ÉÏÔö¼ÓSlave £¨Í¬²½LinuxB ÉÏmysqlÉÏÖ¸¶¨µÄtestÊý¾Ý¿âÖеÄÊý¾Ý£©

LinuxB ÔÚÔ­ÓÐSlaveµÄ»ù´¡ÉÏÔö¼ÓMmaster£¨Í¬²½LinuxA ÉÏmysqlÉÏÖ¸¶¨µÄtestÊý¾Ý¿âÖеÄÊý¾Ý£©£»

2¡¢ÔÚ×÷Ϊmaster£¨¼´LinuxB£©µÄmysqlÉϽ¨Á¢Ò»¸öÕË»§×¨ÃÅÓÃÓÚslave£¨¼´LinuxA£©À´½øÐÐÊý¾Ýͬ²½

# mysql £¨Ä¬ÈÏÓû§£¬ÈçÉèÖÃÁËrootÃÜÂ룬ʹÓÃmysql -u root -p µÇÈëmysql£©
mysql>grant file on *.* to backb@'192.168.59.123' identified by 'backb'
mysql>flush privileges;

£¨PS£º´ËbackbÕË»§Ö»ÄÜͨ¹ýipΪ192.168.59.123µÄ·ÃÎÊ£©

ÔÚLinuxAÉϲâÊÔÕË»§backbÊÇ·ñ¿ÉÒÔ·ÃÎÊLinxuBÉϵÄmysql£º
#mysql -u backb -p -h 192.168.59.124£¨ÊäÈëÃÜÂëbackb£¬¿ÉÒÔ·ÃÎÊ˵Ã÷ÉèÖÃÕýÈ·£©


3¡¢ÐÞ¸Ä my.cnf Îļþ

ÔÚLinuxA ÉϵÄ/etc/my.cnf ÎļþÉÏÌí¼ÓSlaveµÄÅäÖÃ

#server-id= 2 £¨mysql±êʾ£¬Î¨Ò»·ñÔòÆô¶¯»á³ö´íÎó£¬ÒòΪԭÏÈÒÑÓбêʾΪ1£¬Ôڴ˾ͿÉÒÔ×¢Ê͵ô£¬Ò»¸ömysqlÖ»ÐèÒ»¸ö±êʾ¼´¿É£©
master-host=192.168.59.124 £¨Í¬²½LinuxB (Master)µÄipµØÖ·£©
master-user=backb £¨Í¬²½ËùÐèµÄÕ˺ţ©
master-password=backb £¨Í¬²½Õ˺ŵÄÃÜÂ룩
master-port=3306 £¨LinuxB ÖÐmysqlµÄ·ÃÎʶ˿ڣ©
replicate-do-db=test £¨ËùÐèͬ²½µÄÊý¾Ý¿âÃû£¬Èç¹ûÊÇͬ²½¶à¸öÊý¾Ý¿â£¬¿ÉÒÔÁíÆðÒ»ÐÐÈç replicate-do-db=test1£©
#replicate-do-table=test.stu £¨Èç¹ûÖ»Ðèͬ²½testÊý¾Ý¿âÖеÄstu±í£©
#replicate-do-table=test.teacher£¨Èç¹ûÖ»Ðèͬ²½testÊý¾Ý¿âÖеÄstu±í£©
master-connect-retry=60 £¨Ö÷·þÎñÆ÷£¨Master£©å´»ú»òÁ¬½Ó¶ªÊ§µÄÇé¿öÏ£¬´Ó·þÎñÆ÷£¨slave£©Ïß³ÌÖØÐ³¢ÊÔÁ¬½ÓÖ÷·þÎñÆ÷֮ǰ˯ÃßµÄÃëÊý£©

ÐÞ¸ÄÍêºó±£´æÍ˳ö£¬²¢ÖØÆômysql Èç#service mysql restart £¨ÖØÆôÕý³££¬±íʾÅäÖÃû´íÎó£©


ÔÚLinxuBÉϵÄ/etc/my.cnfÎļþÉÏÌí¼ÓMasterµÄÅäÖÃ

#server-id= 1 £¨mysql±êʾ,Ψһ·ñÔòÆô¶¯»á³ö´íÎó£¬ÒòΪԭÏÈÒÑÓбêʾΪ2£¬Ôڴ˾ͿÉÒÔ×¢Ê͵ô£¬Ò»¸ömysqlÖ»ÐèÒ»¸ö±êʾ¼´¿É£©
log-bin=mysql-bin £¨ÈÕÖ¾Îļþ£¬Ä¬ÈÏ´æÔÚ/var/lib/mysqlÏÂÈÕÖ¾ÎļþÒÔmysql-binΪ¿ªÍ·£©
#log_bin= /var/log/mysql/mysql-bin.log£¨Ò²¿ÉÒÔ×Ô¼ºÖ¸¶¨£¬ÔÚ´ËÓÃ# ±íʾעÊ͵ôÁË£©
binlog-do-db =test£¨ÐèҪͬ²½µÄÊý¾Ý¿âÃû£¬ÈçÐèͬ²½¶à¸öÊý¾Ý¿â£¬¿ÉÒÔÁíÆðÐÐÈçbinlog-do-db =test1 £©

ÐÞ¸ÄÍêºó±£´æÍ˳ö£¬²¢ÖØÆômysql Èç#service mysql restart £¨ÖØÆôÕý³££¬±íʾÅäÖÃû´íÎó£©

4.Æô¶¯Í¬²½

½øµ½LinuxB£¨Master£©µÄmysqlÉÏ£º

mysql>show master status\G (²é¿´masterµ±Ç°×´Ì¬)
ÔËÐÐÍêÒÔÉÏÃüÁîÏÔʾ½á¹ûÈçÏ£º

File: mysql-bin.000003 £¨µ±Ç°binlogÈÕÖ¾Îļþ£©
Position: 231 £¨µ«Ç°binlogÈÕÖ¾ÎļþλÖã©
Binlog_Do_DB: test £¨Í¬²½Êý¾Ý¿â£©
Binlog_Ignore_DB:     £¨²»Ðèͬ²½µÄÊý¾Ý£¬µ±Ç°ÎªÉèÖã©

-------------------------------------------------------------
½øµ½LinuxA£¨Slave£©µÄmysqlÉÏ£º

mysql>show slave status\G (²é¿´slaveͬ²½×´Ì¬)

ÔËÐÐÍêÒÔÉÏÃüÁîÏÔʾ½á¹ûÈçÏ£º

Slave_IO_State: Waiting for master to send event £¨slave µÄioỊ̈߳¬»ñÈ¡masterµÄbinlogµÄÈÕÖ¾ÄÚÈÝ£¬¸ÃΪÆäĿǰµÄ״̬£©
Master_Host: 192.168.59.124 £¨ËùÐèͬ²½MasterµÄipµØÖ·£©
Master_User: backb£¨Í¬²½ËùÐèµÄÕ˺ţ©
Master_Port: 3306£¨Í¬²½ËùÐèµÄmysql¶Ë¿ÚºÅ£©
Connect_Retry: 60
Master_Log_File: mysql-bin.000003 £¨masterÖеÄbinlongµÄÈÕÖ¾Îļþ£¬ÈçÓëmasterµÄÈÕÖ¾ÎļþÃû²»Í¬Ôòͬ²½Ê§Ð§£©
Read_Master_Log_Pos: 98 £¨masterÖеÄbinlongµÄÈÕÖ¾ÎļþµÄλÖ㬼´mysql-bin.000001ÎļþÖеĵÚ98λÖÿªÊ¼Í¬²½£¬ÈôÓëmasterÉϵÄλÖò»Í¬Ôòͬ ²½Ê§Ð§£©
Relay_Log_File: localhost-relay-bin.000001
Relay_Log_Pos: 231
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes  £¨SlaveµÄioÏß³ÌÊÇ·ñÔËÐУ©
Slave_SQL_Running: Yes £¨slaveµÄsqlÏß³ÌÊÇ·ñÔËÐУ¬ÐèÒªioÏ̺߳ÍsqlÏß³ÌͬΪyes²ÅÓÐЧ£©
Replicate_Do_DB: test
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: 0

ÒÔÉÏÏÔʾΪÕýȷͬ²½ Èç¹ûÏÔʾµÄÒ»ÏÂÊý¾Ý²»ÊÇ
Slave_IO_State: Waiting for master to send event
Slave_IO_Running: Yes 
Slave_SQL_Running: Yes

ÈôÓëÒÔÉϵÄÈý¸ö״̬±íʾ²»Í¬£¬ÔòδʵÏÖͬ²½£»¿ÉÒÔ²ÉÓÃÒÔÉϵ¥Ïòͬ²½ÖÐµÄ change master ½øÐÐÖØÐÂÉèÖã¨ps£º·À»ðǽÐè¹Ø±Õ£©

ÒÔÉ϶¼ÄÜÕýÈ·ÅäÖÃÍêÇÒÏÔʾµÄ״̬һÖ£¬ÄÇôףºØÄú³É¹¦ÊµÏÖË«Ïòͬ²½¼´ linuxA <--> linuxB µÄͬ²½£»


ËÄ¡¢ mysql Êý¾Ýͬ²½Ïà¹ØËµÃ÷£¨×ªÔØÓÚÍøÂ磬һϺࣩܶ

1. ͬ²½»úÖÆÊµÏÖ¸ÅÊö

MySQLͬ²½»úÖÆ»ùÓÚmaster°ÑËùÓжÔÊý¾Ý¿âµÄ¸üвÙ×÷(¸üС¢É¾³ý µÈ)¶¼¼Ç¼ÔÚ¶þ½øÖÆÈÕÖ¾Àï¡£Òò´Ë£¬ÏëÒªÆôÓÃͬ²½»úÖÆ£¬ÔÚmaster¾Í±ØÐëÆôÓöþ½øÖÆÈÕÖ¾¡£

ÿ¸öslave½ÓÊÜÀ´×ÔmasterÉÏÔÚ¶þ½øÖÆÈÕÖ¾ÖмǼµÄ¸üвÙ×÷£¬Òò´ËÔÚslaveÉÏÖ´ÐÐÁËÕâ¸ö²Ù×÷µÄÒ»¸ö¿½±´¡£Ó¦¸Ã·Ç³£ÖØÒªµØÒâʶµ½£¬¶þ½øÖÆÈÕ Ö¾Ö»ÊÇ´ÓÆôÓöþ½øÖÆÈÕÖ¾¿ªÊ¼µÄ

ʱ¿Ì²Å¼Ç¼¸üвÙ×÷µÄ¡£ËùÓеÄslave±ØÐëÔÚÆôÓöþ½øÖÆÈÕ־ʱ°ÑmasterÉÏÒѾ­´æÔÚµÄÊý¾Ý¿½±´¹ýÀ´¡£Èç¹ûÔËÐÐͬ²½Ê±slaveÉϵÄÊý¾ÝºÍ masterÉÏÆôÓöþ½øÖÆÈÕ־ʱµÄÊý¾Ý²»Ò»ÖµÄ

»°£¬ÄÇôslaveͬ²½¾Í»áʧ°Ü¡£

2. ͬ²½ÊµÏÖϸ½Ú

MySQLͬ²½¹¦ÄÜÓÉ3¸öÏß³Ì(masterÉÏ1¸ö£¬slaveÉÏ2¸ö)À´ÊµÏÖ¡£Ö´ÐÐ START SLAVE Óï¾äºó£¬slave¾Í´´½¨Ò»¸öI/OÏ̡߳£I/OÏß³ÌÁ¬½Óµ½masterÉÏ£¬²¢ÇëÇómaster·¢ËͶþ½øÖÆÈÕÖ¾

ÖеÄÓï¾ä¡£master´´½¨Ò»¸öÏß³ÌÀ´°ÑÈÕÖ¾µÄÄÚÈÝ·¢Ë͵½slaveÉÏ¡£Õâ¸öÏß³ÌÔÚmasterÉÏÖ´ÐÐ SHOW PROCESSLIST Óï¾äºóµÄ½á¹ûÖÐµÄ Binlog Dump Ï̱߳ãÊÇ¡£slaveÉϵÄI/OÏ̶߳ÁÈ¡

masterµÄ Binlog Dump Ï̷߳¢Ë͵ÄÓï¾ä£¬²¢ÇÒ°ÑËüÃÇ¿½±´µ½ÆäÊý¾ÝĿ¼ÏµÄÖмÌÈÕÖ¾(relay logs)ÖС£µÚÈý¸öÊÇSQLỊ̈߳¬salveÓÃËüÀ´¶ÁÈ¡ÖмÌÈÕÖ¾£¬È»ºóÖ´ÐÐËüÃÇÀ´¸üÐÂÊý¾Ý¡£

ÈçÉÏËùÊö£¬Ã¿¸ömster/slaveÉ϶¼ÓÐ3¸öÏ̡߳£Ã¿¸ömasterÉÏÓжà¸öỊ̈߳¬ËüΪÿ¸öslaveÁ¬½Ó¶¼´´½¨Ò»¸öỊ̈߳¬Ã¿¸öslaveÖ»ÓÐI /OºÍSQLÏ̡߳£

ÔÚMySQL 4.0.2ÒÔǰ£¬Í¬²½Ö»Ðè2¸öÏß³Ì(masterºÍslave¸÷Ò»¸ö)¡£slaveÉϵÄI/OºÍSQLÏ̺߳ϲ¢³ÉÒ»¸öÁË£¬Ëü²»Ê¹ÓÃÖмÌÈÕÖ¾¡£

slaveÉÏʹÓÃ2¸öÏ̵߳ÄÓŵãÊÇ£¬°Ñ¶ÁÈÕÖ¾ºÍÖ´Ðзֿª³É2¸ö¶ÀÁ¢µÄÈÎÎñ¡£Ö´ÐÐÈÎÎñÈç¹ûÂýµÄ»°£¬¶ÁÈÕÖ¾ÈÎÎñ²»»á¸ú×ÅÂýÏÂÀ´¡£ÀýÈ磬Èç¹û slaveÍ£Ö¹ÁËÒ»¶Îʱ¼ä£¬ÄÇôI/OÏß³Ì

¿ÉÒÔÔÚslaveÆô¶¯ºóºÜ¿ìµØ´ÓmasterÉ϶Áȡȫ²¿ÈÕÖ¾£¬¾¡¹ÜSQLÏ߳̿ÉÄÜÂäºóI/OÏ̺߳ü¸µÄСʱ¡£Èç¹ûslaveÔÚSQLÏß³Ìûȫ²¿Ö´ÐÐÍê¾ÍÍ£ Ö¹ÁË£¬²»¹ýI/OÏß³ÌÈ´ÒѾ­°ÑËùÓеĸüÐÂÈÕ

Ö¾¶¼¶ÁÈ¡²¢ÇÒ±£´æÔÚ±¾µØµÄÖмÌÈÕÖ¾ÖÐÁË£¬Òò´ËÔÚslaveÔÙ´ÎÆô¶¯ºó¾Í»á¼ÌÐøÖ´ÐÐËüÃÇÁË¡£Õâ¾ÍÔÊÐíÔÚmasterÉÏÇå³ý¶þ½øÖÆÈÕÖ¾£¬ÒòΪslaveÒѾ­ÎÞ ÐèÈ¥master¶ÁÈ¡¸üÐÂÈÕÖ¾ÁË¡£

ÔÚmysqlÖÐÖ´ÐÐ SHOW PROCESSLIST Óï¾ä¾Í»á¸æËßÎÒÃÇËù¹ØÐĵÄmasterºÍslaveÉÏ·¢ÉúµÄÇé¿ö

ÔÚmasterÉÏ£¬SHOW PROCESSLIST µÄ½á¹ûÈçÏ£º

mysql> SHOW PROCESSLIST\G

*************************** 1. row ***************************

Id: 21

User: root

Host: localhost

db: mysql

Command: Query

Time: 0

State: NULL

Info: SHOW PROCESSLIST

*************************** 2. row (MASTERÏß³Ì)***************************

Id: 25

User: back

Host: 192.168.1.125:34085

db: NULL

Command: Binlog Dump

Time: 746

State: Has sent all binlog to slave; waiting for binlog to be updated

Info: NULL

2 rows in set (0.01 sec)

ÔÚÕâÀÏß³Ì2ÊÇΪһ¸öslaveÁ¬½Ó´´½¨µÄ¡£½á¹û±íÃ÷ËùÓÐδÍê³ÉµÄ¸üÐÂÈÕÖ¾ÒѾ­¶¼·¢Ë͵½slaveÁË£¬masterÕýµÈ´ýеĸüÐÂÈÕÖ¾·¢Éú¡£

ÔÚslaveÉÏ£¬SHOW PROCESSLIST µÄ½á¹ûÈçÏ£º

mysql> SHOW PROCESSLIST\G

*************************** 1. row ***************************

Id: 2

User: system user

Host:

db: NULL

Command: Connect

Time: 70479

State: Waiting for master to send event

Info: NULL

*************************** 2. row (I/OÏß³Ì) ***************************

Id: 3

User: system user

Ho qmysql replicationʵÏÖ_xiaolei1982_°Ù¶È¿Õ¼ä p v n n Boobs Big bmysql replicationʵÏÖ_xiaolei1982_°Ù¶È¿Õ¼ä z Big