µ±Ç°Î»ÖãºÖ÷Ò³ > ²é¿´ÄÚÈÝ

ÔÚÒµÎñ¸ß·åÆڰεô·þÎñÆ÷µçÔ´ÊÇÒ»ÖÖÔõÑùµÄÌåÑ飿

·¢²¼Ê±¼ä£º2021-06-06 00:00| ÓРλÅóÓѲ鿴

¼ò½é£º´ó¼ÒºÃÎÒÊDZùºÓ~~ ²»ÅÂÉñÒ»ÑùµÄ¶ÔÊÖ¾ÍÅÂÖíÒ»ÑùµÄ¶ÓÓÑÎÒ¾­ÀúÁËÒ»´ÎÔÚÒµÎñ¸ß·åÆÚºÁÎÞ·À±¸µÄÇé¿öϱ»¶ÓÓÑ¡°°Î¡±µôÁË·þÎñÆ÷µçÔ´µÄ¡°²ÒÍ´¡±¾­Àú¡£ µ±Ê±µÄÎÒÔÚÍâÃæÍæµÄÕýÆð¾¢Í»È»Ò»¸öµç»°´òÀ´¡°±ùºÓÄãÔÚÄÄ·þÎñÆ÷ͻȻ²»ÄÜ·ÃÎÊÁË¡±¡£ÎÒ¡°ÓÖÓÐʲôÇé¿ö° ±¡£¡°ÎÒ²»Ð¡¡­¡­

´ó¼ÒºÃ,ÎÒÊDZùºÓ~~

²»ÅÂÉñÒ»ÑùµÄ¶ÔÊÖ,¾ÍÅÂÖíÒ»ÑùµÄ¶ÓÓÑ,ÎÒ¾­ÀúÁËÒ»´ÎÔÚÒµÎñ¸ß·åÆÚºÁÎÞ·À±¸µÄÇé¿öÏÂ,±»¶ÓÓÑ¡°°Î¡±µôÁË·þÎñÆ÷µçÔ´µÄ¡°²ÒÍ´¡±¾­Àú¡£

µ±Ê±µÄÎÒÔÚÍâÃæÍæµÄÕýÆð¾¢,ͻȻһ¸öµç»°´òÀ´:¡°±ùºÓ,ÄãÔÚÄÄ?·þÎñÆ÷ͻȻ²»ÄÜ·ÃÎÊÁË!¡±¡£ÎÒ:¡°ÓÖÓÐʲôÇé¿ö°¡?¡±¡£¡°ÎÒ²»Ð¡ÐIJȵ½·þÎñÆ÷µçÔ´Á¬½ÓµÄ²åÏß°åÁË,·þÎñÆ÷¶ÏµçÁË,ÖØÆôʱÌáʾÎÞ·¨Æô¶¯¡±¡£ÎÒÐÄÀïÒ»Íò¸öÎÞÓï,ÎÊ:¡±ÊÇÄĄ̈·þÎñÆ÷¶ÏµçÁË¡°¡£¡°ÎÒ²»Ð¡ÐIJȵ½ÄǸöС²åÏß°åµÄ¿ª¹ØÁË,Á¬½Óµ½Õâ¸ö²åÏß°åµÄ·þÎñÆ÷¶¼¶ÏµçÁË¡±¡£ÎÒ:ÄáÂê,ÄÇÊÇÊý¾Ý¿â°¡,ÎÒÈ¥¡£¡£¡£

ÓÚÊÇÎҸϽô·É±¼»Ø¹«Ë¾,¿ªÊ¼ÁË¿à±ÆµÄÊý¾Ý»Ö¸´¹ý³Ì¡£¡£¡£

ÎÄÕÂÒÑÊÕ¼µ½:

https://github.com/sunshinelyz/technology-binghe

https://gitee.com/binghe001/technology-binghe

½â¾öÖ÷¿âÎÊÌâ

Ö÷¿âÎÊÌâÖØÏÖ

»Øµ½¹«Ë¾Ò»¿´,¶ÏµçµÄÊǹ«Ë¾µÄÏûÏ¢·þÎñ×ÓϵͳÊý¾Ý¿â,Êý¾Ý¿â¹²3̨,Ò»ÖÖÁ½´Ó,²¢²ÉÓÃÁË·Ö¿â·Ö±íµÄ·½Ê½´æ´¢Êý¾Ý¡£ÎÒÊ×ÏÈ°ÑÈý̨·þÎñÆ÷Æô¶¯ºÃ,·¢ÏÖÖ÷Êý¾Ý¿âµÄ½ø³ÌÎÞ·¨Æô¶¯,Á½Ì¨´ÓÊý¾Ý¿âͬ²½Ö÷¿âÊý¾ÝµÄ״̬Òì³£¡£°´ÕÕ˳Ðò,ÎÒÏÈ¿´Ö÷Êý¾Ý¿âµÄÈÕÖ¾ÐÅÏ¢,·¢ÏÖMySQLµÄ´íÎóÈÕÖ¾ÖÐÊä³öÁËÈçÏÂÐÅÏ¢¡£

-----------------------------------------161108 23:36:45 mysqld_safe Starting mysqld daemon with 
databases from /usr/local/mysql/var2021-02-28 23:36:46 0 [Warning] TIMESTAMP with implicit DEFAULT 
value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation 
for more details).2021-02-28 23:36:46 5497 [Note] Plugin 'FEDERATED' is disabled.2021-02-28 23:36:46 

7f11c48e1720 InnoDB: Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be 
removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB's 
internal memory allocator.2021-02-28 23:36:46 5497 [Note] InnoDB: Using atomics to ref count buffer 
pool pages2021-02-28 23:36:46 5497 [Note] InnoDB: The InnoDB memory heap is disabled2021-02-28 
23:36:46 5497 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins2021-02-28 23:36:46 5497 
[Note] InnoDB: Memory barrier is not used2021-02-28 23:36:46 5497 [Note] InnoDB: Compressed tables 

use zlib 1.2.32021-02-28 23:36:46 5497 [Note] InnoDB: Using CPU crc32 instructions2021-02-28 23:36:46 5497 [Note] InnoDB: Initializing buffer pool, size = 16.0M2021-02-28 23:36:46 5497 [Note] InnoDB: 
Completed initialization of buffer poolInnoDB: Database page corruption on disk or a failedInnoDB: 
file read of page 5.InnoDB: You may have to recover from a backup.2021-02-28 23:36:46 7f11c48e1720 
InnoDB: Page dump in ascii and hex (16384 bytes): len 16384; hex 
7478d078000000050000000000000000000000000f271f4d000700000000000000000000000000000000001b4000000000000
000000200f20000000000000006000000000000002d000000000000002e000000000000002f0000000000000030000000000(
Ê¡ÂԺܶàÀàËÆ´úÂë)InnoDB: End of page dump2021-02-28 23:36:46 7f11c48e1720 InnoDB: uncompressed page, 
stored checksum in field1 1954074744, calculated checksums for field1: crc32 993334256, innodb 
2046145943, none 3735928559, stored checksum in field2 1139795846, calculated checksums for field2: 

crc32 993334256, innodb 1606613742, none 3735928559, page LSN 0 254222157, low 4 bytes of LSN at page end 254221236, page number (if stored to page already) 5, space id (if created with >= MySQL-4.1.1 
and stored already) 0InnoDB: Page may be a transaction system pageInnoDB: Database page corruption on disk or a failedInnoDB: file read of page 5.InnoDB: You may have to recover from a backup.InnoDB: It 
is also possible that your operatingInnoDB: system has corrupted its own file cacheInnoDB: and 
rebooting your computer removes theInnoDB: error.InnoDB: If the corrupt page is an index pageInnoDB: 
you can also try to fix the corruptionInnoDB: by dumping, dropping, and reimportingInnoDB: the 
corrupt table. You can use CHECKInnoDB: TABLE to scan your table for corruption.InnoDB: See also 
http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.htmlInnoDB: about forcing 
recovery.InnoDB: Ending processing because of a corrupt database page.2021-02-28 23:36:46 
7f11c48e1720  InnoDB: Assertion failure in thread 139714288817952 in file buf0buf.cc line 4201InnoDB: We intentionally generate a memory trap.InnoDB: Submit a detailed bug report to 
http://bugs.mysql.com.InnoDB: If you get repeated assertion failures or crashes, evenInnoDB: 

immediately after the mysqld startup, there may beInnoDB: corruption in the InnoDB tablespace. Please refer toInnoDB: http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.htmlInnoDB: about 
forcing recovery.03:36:46 UTC - mysqld got signal 6 ;This could be because you hit a bug. It is also possible that this binaryor one of the libraries it was linked against is corrupt, improperly 
built,or misconfigured. This error can also be caused by malfunctioning hardware.We will try our best 
to scrape up some info that will hopefully helpdiagnose the problem, but since we have already 
crashed,something is definitely wrong and this may 
fail.key_buffer_size=16777216read_buffer_size=262144max_used_connections=0max_threads=1000thread_coun
t=0connection_count=0It is possible that mysqld could use up tokey_buffer_size + (read_buffer_size + 
sort_buffer_size)*max_threads = 798063 K  bytes of memoryHope that's ok; if not, decrease some 
variables in the equation.Thread pointer: 0x0Attempting backtrace. You can use the following 
information to find outwhere mysqld died. If you see no messages after this, something wentterribly 
wrong...stack_bottom = 0 thread_stack 0x40000/usr/local/mysql/bin/mysqld(my_print_stacktrace+0x35)
[0x8e64b5]/usr/local/mysql/bin/mysqld(handle_fatal_signal+0x41b)
[0x652fbb]/lib64/libpthread.so.0(+0xf7e0)[0x7f11c44c77e0]/lib64/libc.so.6(gsignal+0x35)
[0x7f11c315d625]/lib64/libc.so.6(abort+0x175)

[0x7f11c315ee05]/usr/local/mysql/bin/mysqld[0xa585c5]/usr/local/mysql/bin/mysqld[0xa6c7b4]/usr/local/
mysql/bin/mysqld[0xa6cbc7]/usr/local/mysql/bin/mysqld[0xa5bce2]/usr/local/mysql/bin/mysqld[0xa1e2ba]/usr/local/mysql/bin/mysqld[0xa0bf60]/usr/local/mysql/bin/mysqld[0x95a427]/usr/local/mysql/bin/mysqld(_Z24ha_initialize_handlertonP13st_plugin_int+0x48)
[0x58f788]/usr/local/mysql/bin/mysqld[0x6e4a36]/usr/local/mysql/bin/mysqld(_Z11plugin_initPiPPci+0xb3e)
[0x6e826e]/usr/local/mysql/bin/mysqld[0x582d85]/usr/local/mysql/bin/mysqld(_Z11mysqld_mainiPPc+0x4d8)
[0x587d18]/lib64/libc.so.6(__libc_start_main+0xfd)
[0x7f11c3149d5d]/usr/local/mysql/bin/mysqld[0x57a019]The manual page at 
http://dev.mysql.com/doc/mysql/en/crashing.html containsinformation that should help you find out 
what is causing the crash.161108 23:36:46 mysqld_safe mysqld from pid file 
/usr/local/mysql/var/VM_241_49_centos.pid 
ended------------------------------------------------------------------------------

Ö÷¿âÎÊÌâ·ÖÎö

´ÓÈÕÖ¾ÖпÉÒÔ¿´³öÊÇinnodbÒýÇæ³öÁËÎÊÌâ¡£ÈÕÖ¾ÀïÌáʾµ½ http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html²é¿´Ç¿Öƻָ´µÄ·½·¨¡£ÔÚmysqlµÄÅäÖÃÎļþmy.cnfÀïÕÒµ½ [mysqld]×Ö¶ÎÏÂ,Ìí¼Ó innodb_force_recovery=1:

[mysqld]innodb_force_recovery = 1

Èç¹ûinnodb_force_recovery = 1²»ÉúЧ,Ôò¿É³¢ÊÔ2¡ª¡ª6¼¸¸öÊý×Ö

È»ºóÖØÆômysql,ÖØÆô³É¹¦¡£È»ºóʹÓÃmysqldump»ò pma µ¼³öÊý¾Ý,Ö´ÐÐÐÞ¸´²Ù×÷µÈ¡£ÐÞ¸´Íê³Éºó,°Ñ¸Ã²ÎÊý×¢Ê͵ô,»¹Ô­Ä¬ÈÏÖµ0¡£

ÅäÖÃÎļþµÄ²ÎÊý:innodb_force_recovery

innodb_force_recoveryÓ°ÏìÕû¸öInnoDB´æ´¢ÒýÇæµÄ»Ö¸´×´¿ö¡£Ä¬ÈÏΪ0,±íʾµ±ÐèÒª»Ö¸´Ê±Ö´ÐÐËùÓеĻָ´²Ù×÷(¼´Ð£ÑéÊý¾ÝÒ³/purge undo/insert buffer merge/rolling back&forward),µ±²»ÄܽøÐÐÓÐЧµÄ»Ö¸´²Ù×÷ʱ,mysqlÓпÉÄÜÎÞ·¨Æô¶¯,²¢¼Ç¼´íÎóÈÕÖ¾;

innodb_force_recovery¿ÉÒÔÉèÖÃΪ1-6,´óµÄÊý×Ö°üº¬Ç°ÃæËùÓÐÊý×ÖµÄÓ°Ïì¡£µ±ÉèÖòÎÊýÖµ´óÓÚ0ºó,¿ÉÒÔ¶Ô±í½øÐÐselect,create,drop²Ù×÷,µ«insert,update»òÕßdeleteÕâÀà²Ù×÷ÊDz»ÔÊÐíµÄ¡£

  • (SRV_FORCE_IGNORE_CORRUPT):ºöÂÔ¼ì²éµ½µÄcorruptÒ³¡£
  • (SRV_FORCE_NO_BACKGROUND):×èÖ¹Ö÷Ï̵߳ÄÔËÐÐ,ÈçÖ÷Ïß³ÌÐèÒªÖ´ÐÐfull purge²Ù×÷,»áµ¼ÖÂcrash¡£
  • (SRV_FORCE_NO_TRX_UNDO):²»Ö´ÐÐÊÂÎñ»Ø¹ö²Ù×÷¡£
  • (SRV_FORCE_NO_IBUF_MERGE):²»Ö´ÐвåÈ뻺³åµÄºÏ²¢²Ù×÷¡£
  • (SRV_FORCE_NO_UNDO_LOG_SCAN):²»²é¿´ÖØ×öÈÕÖ¾,InnoDB´æ´¢ÒýÇæ»á½«Î´Ìá½»µÄÊÂÎñÊÓΪÒÑÌá½»¡£
  • (SRV_FORCE_NO_LOG_REDO):²»Ö´ÐÐÇ°¹öµÄ²Ù×÷¡£

Ö÷¿â½â¾ö·½°¸

Ò»°ãÐÞ¸´·½·¨²Î¿¼:

µÚÒ»ÖÖ·½·¨

½¨Á¢Ò»ÕÅбí:

create table demo_bak  #ºÍÔ­±í½á¹¹Ò»Ñù,Ö»ÊÇ°ÑINNODB¸Ä³ÉÁËMYISAM¡£

°ÑÊý¾Ýµ¼½øÈ¥

insert into demo_bak select * from demo;

ɾ³ýµôÔ­±í:

drop table demo;

×¢Ê͵ô innodb_force_recovery Ö®ºó,ÖØÆô¡£

ÖØÃüÃû:

rename table demo_bak to demo;

×îºó¸Ä»Ø´æ´¢ÒýÇæ:

alter table demo engine = innodb

µÚ¶þÖÖ·½·¨

ÁíÒ»¸ö·½·¨ÊÇʹÓÃmysqldump½«±í¸ñµ¼³ö,È»ºóÔÙµ¼»Øµ½InnoDB±íÖС£ÕâÁ½ÖÖ·½·¨µÄ½á¹ûÊÇÏàͬµÄ¡£
±¸·Ýµ¼³ö(°üÀ¨½á¹¹ºÍÊý¾Ý):

mysqldump -uroot -p123 test > test.sql

»¹Ô­·½·¨1:

use test;source test.sql

»¹Ô­·½·¨2(ϵͳÃüÁîÐÐ):

mysql -uroot -p123 test < test.sql;

×¢Òâ,CHECK TABLEÃüÁîÔÚInnoDBÊý¾Ý¿âÖлù±¾ÉÏÊÇûÓÐÓõġ£

µÚÈýÖÖ·½·¨

(1)ÅäÖÃmy.cnf

ÅäÖÃinnodb_force_recovery = 1»ò2¡ª¡ª6¼¸¸öÊý×Ö,ÖØÆôMySQL

(2)µ¼³öÊý¾Ý½Å±¾

mysqldump -uroot -p123 test > test.sql

µ¼³öSQL½Å±¾¡£»òÕßÓÃNavicat½«ËùÓÐÊý¾Ý¿â/±íµ¼Èëµ½ÆäËû·þÎñÆ÷µÄÊý¾Ý¿âÖС£
×¢Òâ:ÕâÀïµÄÊý¾ÝÒ»¶¨Òª±¸·Ý³É¹¦¡£È»ºóɾ³ýÔ­Êý¾Ý¿âÖеÄÊý¾Ý¡£

(3)ɾ³ýib_logfile0¡¢ib_logfile1¡¢ibdata1

±¸·ÝMySQLÊý¾ÝĿ¼ÏµÄib_logfile0¡¢ib_logfile1¡¢ibdata1Èý¸öÎļþ,È»ºó½«ÕâÈý¸öÎļþɾ³ý

(4)ÅäÖÃmy.cnf

½«my.cnfÖÐinnodb_force_recovery = 1»ò2¡ª¡ª6¼¸¸öÊý×ÖÕâÐÐÅäÖÃɾ³ý»òÕßÅäÖÃΪinnodb_force_recovery = 0,ÖØÆôMySQL·þÎñ

(5)½«Êý¾Ýµ¼ÈëMySQLÊý¾Ý¿â

mysql -uroot -p123 test < test.sql; »òÕßÓÃNavicat½«±¸·ÝµÄÊý¾Ýµ¼Èëµ½Êý¾Ý¿âÖС£

´ËÖÖ·½·¨ÏÂҪעÒâµÄÎÊÌâ:

  • ib_logfile0¡¢ib_logfile1¡¢ibdata1ÕâÈý¸öÎļþÒ»¶¨ÒªÏȱ¸·Ýºóɾ³ý;
  • Ò»¶¨ÒªÈ·ÈÏÔ­Êý¾Ýµ¼³ö³É¹¦ÁË
  • µ±Êý¾Ýµ¼³ö³É¹¦ºó,ɾ³ýÔ­Êý¾Ý¿âÖеÄÊý¾Ýʱ,Èç¹ûÌáʾ²»ÄÜɾ³ý,¿ÉÔÚÃüÁîÐнøÈëMySQLµÄÊý¾ÝĿ¼,ÊÖ¶¯É¾³ýÏà¹ØÊý¾Ý¿âµÄÎļþ¼Ð»òÕßÊý¾Ý¿âÎļþ¼ÐϵÄÊý¾Ý±íÎļþ,Ç°ÌáÊÇÊý¾ÝÒ»¶¨µ¼³ö»ò±¸·Ý³É¹¦¡£

ÕâÀï,ÎÒʹÓõÄÊǵÚÈýÖÖ·½·¨»Ö¸´ÁËÖ÷Êý¾Ý¿âµÄÊý¾Ý¡£

½ÓÏÂÀ´,ÎÒÃÇÔÙÀ´¿´¿´´ÓÊý¾Ý¿âÊý¾ÝµÄ»Ö¸´¡£

½â¾ö´Ó¿âÎÊÌâ

Ö÷´Ó¸´ÖÆÔ­Àí

ÕâÀï,ÎҾͼòµ¥µÄ˵ÏÂMySQLÊý¾Ý¿âµÄÖ÷´Ó¸´ÖÆÔ­Àí¡£

MySQLÖ÷´Ó¸´ÖÆÔ­Àí,Ò²³ÆΪA/BÔ­Àí¡£

(1) Master ½«Êý¾Ý¸Ä±ä¼Ç¼µ½¶þ½øÖÆÈÕÖ¾(binary log)ÖÐ,Ò²¾ÍÊÇÅäÖÃÎļþ log-bin Ö¸¶¨µÄÎļþ, ÕâЩ¼Ç¼½Ð×ö¶þ½øÖÆÈÕ־ʼþ(binary log events);

(2) Slave ͨ¹ý I/O Ï̶߳ÁÈ¡ Master ÖÐµÄ binary log events ²¢Ð´Èëµ½ËüµÄÖмÌÈÕÖ¾(relay log);

(3) Slave ÖØ×öÖмÌÈÕÖ¾ÖеÄʼþ,°ÑÖмÌÈÕÖ¾ÖеÄʼþÐÅÏ¢Ò»ÌõÒ»ÌõµÄÔÚ±¾µØÖ´ÐÐÒ»´Î,Íê ³ÉÊý¾ÝÔÚ±¾µØµÄ´æ´¢,´Ó¶øʵÏÖ½«¸Ä±ä·´Ó³µ½Ëü×Ô¼ºµÄÊý¾Ý(Êý¾ÝÖØ·Å)¡£

ÔÚÕâÀï²åÈëͼƬÃèÊö

¸´ÖƹýÂË¿ÉÒÔÈÃÄãÖ»¸´ÖÆ·þÎñÆ÷ÖеÄÒ»²¿·ÖÊý¾Ý,ÓÐÁ½ÖÖ¸´ÖƹýÂË:

(1) ÔÚ Master ÉϹýÂ˶þ½øÖÆÈÕÖ¾ÖеÄʼþ;

(2) ÔÚ Slave ÉϹýÂËÖмÌÈÕÖ¾ÖеÄʼþ¡£ÈçÏÂ:

ÔÚÕâÀï²åÈëͼƬÃèÊö

relay_logÅäÖÃÖмÌÈÕÖ¾,log_slave_updates±íʾslave½«¸´ÖÆʼþ д½ø×Ô¼ºµÄ¶þ½øÖÆÈÕÖ¾.µ±ÉèÖÃlog_slave_updatesʱ,Äã¿ÉÒÔÈÃslave°çÑÝÆäËüslaveµÄmaster.´Ëʱ,slave°ÑsqlÏß³ÌÖ´ÐеÄʼþд½ø×Ô¼ºµÄ¶þ½øÖÆÈÕÖ¾(binary log)È»ºó,ËüµÄslave¿ÉÒÔ»ñÈ¡ÕâЩʼþ²¢Ö´ÐÐËü¡£ÈçÏÂͼËùʾ(·¢Ë͸´ÖÆʼþµ½ÆäËüµÄSlave):

ÔÚÕâÀï²åÈëͼƬÃèÊö

´Ó¿âÎÊÌâÖØÏÖ

»Ö¸´Ö÷¿âµÄÊý¾Ýºó,ÏòÖ÷¿âÖвåÈëÁËÒ»Åú²âÊÔÊý¾Ý,´ó¸ÅÓÐ1000Ìõ,µ«ÊDzåÈëÊý¾Ýºó,´Ó¿â³Ù³ÙûÓн«Êý¾Ýͬ²½¹ýÀ´¡£ÓÚÊÇÎÒÏȵǼÖ÷¿â,Ö´ÐÐÈçÏÂÃüÁî¡£

mysql>show processlist;

²é¿´Ï½ø³ÌÊÇ·ñSleepÌ«¶à¡£·¢ÏÖºÜÕý³£¡£

Ôٲ鿴ÏÂÖ÷¿âµÄ״̬¡£

show master status;

Ò²Õý³£¡£

mysql> show master status;
+-------------------+----------+--------------+-------------------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB              |
+-------------------+----------+--------------+-------------------------------+
| mysqld-bin.000001 |     3260 |              | mysql,test,information_schema |
+-------------------+----------+--------------+-------------------------------+
1 row in set (0.00 sec)

ÔÙµ½´Ó¿âÉϲ鿴´Ó¿âµÄ״̬¡£

mysql> show slave status\G                                                
 
Slave_IO_Running: Yes
Slave_SQL_Running: No

·¢ÏÖÊÇSlave²»Í¬²½ÁË¡£ÕâÀï,Èç¹ûÖ÷´ÓÊý¾Ý¿â°æ±¾Ò»Ö»ò²»Ò»ÖÂÓÖ»á´æÔÚÁ½ÖÖ½â¾ö·½°¸¡£

Ö÷´Ó°æ±¾Ò»Ö½â¾ö·½°¸

ÏÂÃæ½éÉÜÁ½ÖÖ½â¾ö·½·¨

·½·¨Ò»:ºöÂÔ´íÎóºó,¼ÌÐøͬ²½

¸Ã·½·¨ÊÊÓÃÓÚÖ÷´Ó¿âÊý¾ÝÏà²î²»´ó,»òÕßÒªÇóÊý¾Ý¿ÉÒÔ²»ÍêȫͳһµÄÇé¿ö,Êý¾ÝÒªÇó²»ÑϸñµÄÇé¿ö

½â¾ö:

stop slave;
 
#±íʾÌø¹ýÒ»²½´íÎó,ºóÃæµÄÊý×ֿɱä
set global sql_slave_skip_counter =1;
start slave;

Ö®ºóÔÙÓÃmysql> show slave status\G ²é¿´

mysql> show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

ok,ÏÖÔÚÖ÷´Óͬ²½×´Ì¬Õý³£ÁË¡£¡£¡£

·½Ê½¶þ:ÖØÐÂ×öÖ÷´Ó,Íêȫͬ²½

¸Ã·½·¨ÊÊÓÃÓÚÖ÷´Ó¿âÊý¾ÝÏà²î½Ï´ó,»òÕßÒªÇóÊý¾ÝÍêȫͳһµÄÇé¿ö

½â¾ö²½ÖèÈçÏÂ:

(1)ÏȽøÈëÖ÷¿â,½øÐÐËø±í,·ÀÖ¹Êý¾ÝдÈë

ʹÓÃÃüÁî:

mysql> flush tables with read lock;

×¢Òâ:¸Ã´¦ÊÇËø¶¨ÎªÖ»¶Á״̬,Óï¾ä²»Çø·Ö´óСд

(2)½øÐÐÊý¾Ý±¸·Ý

#°ÑÊý¾Ý±¸·Ýµ½mysql.bak.sqlÎļþ

mysqldump -uroot -p -hlocalhost > mysql.bak.sql

ÕâÀï×¢ÒâÒ»µã:Êý¾Ý¿â±¸·ÝÒ»¶¨Òª¶¨ÆÚ½øÐÐ,¿ÉÒÔÓÃshell½Å±¾»òÕßpython½Å±¾,¶¼±È½Ï·½±ã,È·±£Êý¾ÝÍòÎÞһʧ¡£

(3)²é¿´master ״̬

mysql> show master status;
+-------------------+----------+--------------+-------------------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB              |
+-------------------+----------+--------------+-------------------------------+
| mysqld-bin.000001 |     3260 |              | mysql,test,information_schema |
+-------------------+----------+--------------+-------------------------------+
1 row in set (0.00 sec)

(4)°Ñmysql±¸·ÝÎļþ´«µ½´Ó¿â»úÆ÷,½øÐÐÊý¾Ý»Ö¸´

scp mysql.bak.sql root@192.168.128.101:/tmp/

(5)Í£Ö¹´Ó¿âµÄ״̬

mysql> stop slave;

(6)È»ºóµ½´Ó¿âÖ´ÐÐmysqlÃüÁî,µ¼ÈëÊý¾Ý±¸·Ý

mysql> source /tmp/mysql.bak.sql

(7)ÉèÖôӿâͬ²½,×¢Òâ¸Ã´¦µÄͬ²½µã,¾ÍÊÇÖ÷¿âshow master statusÐÅÏ¢ÀïµÄ| File| PositionÁ½Ïî

change master to master_host = '192.168.128.100', master_user = 'rsync',  master_port=3306, master_password='', master_log_file =  'mysqld-bin.000001', master_log_pos=3260;

(8)ÖØпªÆô´Óͬ²½

mysql> start slave;

(9)²é¿´Í¬²½×´Ì¬

mysql> show slave status\G  

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

(10)»Øµ½Ö÷¿â²¢Ö´ÐÐÈçÏÂÃüÁî½â³ý±íËø¶¨¡£

UNLOCK TABLES;

Èç¹ûÖ÷´ÓÊý¾Ý¿âµÄ°æ±¾ÊÇÒ»ÖµÄ,ÒÔÉÏÊö·½Ê½»Ø¸´´ÓÊý¾Ý¿âÊÇûɶÎÊÌâµÄ,Èç¹ûÖ÷´ÓÊý¾Ý¿â°æ±¾²»Ò»ÖµĻ°,ÒÔÉÏÊö·½Ê½»Ø¸´Ö÷´ÓÊý¾Ý¿â¿ÉÄÜ»¹»á´æÔÚÎÊÌâ¡£

Ö÷´Ó°æ±¾²»Ò»Ö½â¾ö·½°¸

Èç¹ûMySQLÖ÷¿âºÍ´Ó¿âµÄ°æ±¾²»Ò»ÖÂʱ,ʹÓà show slave status \GÃüÁî²é¿´´Ó¿â״̬ʱ¿ÉÄܻῴµ½ÈçÏÂËùʾµÄÐÅÏ¢¡£

Slave_IO_Running: Yes
Slave_SQL_Running: No
¡­¡­
Last_Errno: 1755
Last_Error: Cannot execute the current event group in the parallel mode. Encountered event Gtid, relay-log name ./mysql-relay.000002, position 123321 which prevents execution of this event group in parallel mode. Reason: The master event is logically timestamped incorrectly...

×¢ÒâÈçϵÄÊä³öÐÅÏ¢¡£

Last_Errno: 1755
Last_Error: Cannot execute the current event group in the parallel mode. Encountered event Gtid, relay-log name ./mysql-relay.000002, position 123321 which prevents execution of this event group in parallel mode. Reason: The master event is logically timestamped incorrectly...

ÕâÊÇÓÉÓÚÖ÷¿âʹÓõÄÊÇMySQL5.6,´Ó¿âʹÓõÄÊÇMySQL5.7,Êý¾Ý¿â°æ±¾²»Ò»ÖÂÒýÆðµÄ¡£

´ÓMySQL¹ÙÍøËÑË÷1755µÄ±¨´í¿´µ½ÊDz¢Ðи´ÖÆbugµ¼Öµı¨´í¡£ÏëÒª½â¾öµÄ°ì·¨Ò²ºÜ¼òµ¥,Ö±½Ó¹Øµô²¢Ðи´ÖƼ´¿É¡£

stop slave;
set global slave_parallel_workers=0;
start slave;

Èç¹û´Ó¿â»¹ÊÇ´æÔÚÎÊÌâ,Ôò¿É°´ÕÕÖ÷´Ó°æ±¾Ò»Öµķ½°¸À´»Ö¸´´Ó¿âµÄÊý¾Ý¡£

ÕâÀï,¸½¼ÓÒ»¸öMySQL¹Ù·½Îĵµ¶ÔÓÚ1755´íÎóÂëµÄÃèÊö¡£

https://bugs.mysql.com/bug.php?id=71495

¾­¹ý´ó°ëÌìºÍ°ë¸öÍíÉϵÄÊý¾Ý»Ö¸´,Êý¾Ý¿â×ÜËãÊǻָ´ÁË,²»¹ýÕâ´ÎµÄ½ÌѵҲͦ²ÒÍ´µÄ¡£ÎªÁ˱ÜÃâÔٴγöÏÖÀàËƵÄʹÊ,ÎÒºóÀ´½«Êý¾Ý¿â×ö³ÉÁËÒìµØ¶à»î,ºóÃæÔÙ°ÑÊý¾Ý¿âÒìµØ¶à»îµÄ·½°¸·ÖÏí¸ø´ó¼Ò!

ºÃÁË,½ñÌì¾Íµ½Õâ¶ù°É,ÎÒÊDZùºÓ,´ó¼ÒÓÐɶÎÊÌâ¿ÉÒÔÔÚÏ·½ÁôÑÔ,Ò²¿ÉÒÔ¼ÓÎÒ΢ÐÅ:sun_shine_lyz,ÎÒÀ­Äã½øȺ,Ò»Æð½»Á÷¼¼Êõ,Ò»Æð½ø½×,Ò»Æð½ø´ó³§~~

£»Ô­ÎÄÁ´½Ó£ºhttps://blog.csdn.net/l1028386804/article/details/115576102
±¾Õ¾²¿·ÖÄÚÈÝתÔØÓÚÍøÂ磬°æȨ¹éÔ­×÷ÕßËùÓУ¬×ªÔØ֮ĿµÄÔÚÓÚ´«²¥¸ü¶àÓÅÐã¼¼ÊõÄÚÈÝ£¬ÈçÓÐÇÖȨÇëÁªÏµQQ/΢ÐÅ£º153890879ɾ³ý£¬Ð»Ð»£¡

ÍƼöͼÎÄ

  • ÖÜÅÅÐÐ
  • ÔÂÅÅÐÐ
  • ×ÜÅÅÐÐ

Ëæ»úÍƼö