之前用我这个机器做mysql的测试来,今天启动准备搭建一套线上的主从,结果起不来了。。。
错误日志:
;InnoDB: End of page dump170807 11:37:02 InnoDB: Page checksum 1575996416, prior-to-4.0.14-form checksum 1371122432InnoDB: stored checksum 0, prior-to-4.0.14-form stored checksum 0InnoDB: Page lsn 0 0, low 4 bytes of lsn at page end 0InnoDB: Page number (if stored to page already) 0,InnoDB: space id (if created with >= MySQL-4.1.1 and stored already) 0InnoDB: Page may be a freshly allocated page170807 11:37:02InnoDB: Error: trying to access a stray pointer 0x80007f66af393ff8InnoDB: buf pool start is at 0x7f66af384000, end at 0x7f66afb84000InnoDB: Probable reason is database corruption or memoryInnoDB: corruption. If this happens in an InnoDB database recovery, seeInnoDB: http://dev.mysql.com/doc/refman/5.1/en/forcing-innodb-recovery.htmlInnoDB: how to force recovery.170807 11:37:02 InnoDB: Assertion failure in thread 140079112959968 in file ../../storage/innobase/include/buf0buf.ic line 264InnoDB: 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.1/en/forcing-innodb-recovery.htmlInnoDB: about forcing recovery.03:37:02 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=8384512read_buffer_size=131072max_used_connections=0max_threads=151thread_count=0connection_count=0It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 338336 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/libexec/mysqld(my_print_stacktrace+0x29) [0x850ca9]/usr/libexec/mysqld(handle_fatal_signal+0x483) [0x6a4143]/lib64/libpthread.so.0() [0x3514e0f7e0]/lib64/libc.so.6(gsignal+0x35) [0x3514a32625]/lib64/libc.so.6(abort+0x175) [0x3514a33e05]/usr/libexec/mysqld(page_cur_search_with_match+0x77b) [0x79855b]/usr/libexec/mysqld(btr_cur_search_to_nth_level+0x6ea) [0x73bd9a]/usr/libexec/mysqld(btr_pcur_open_on_user_rec+0x64) [0x7eab34]/usr/libexec/mysqld() [0x75a46f]/usr/libexec/mysqld(dict_load_sys_table+0x59) [0x7602d9]/usr/libexec/mysqld(dict_boot+0x91c) [0x7ebf6c]/usr/libexec/mysqld(innobase_start_or_create_for_mysql+0x11f6) [0x7c8466]/usr/libexec/mysqld() [0x72f84b]/usr/libexec/mysqld(ha_initialize_handlerton(st_plugin_int*)+0x31) [0x697b91]/usr/libexec/mysqld() [0x7177db]/usr/libexec/mysqld(plugin_init(int*, char**, int)+0x6e4) [0x719ad4]/usr/libexec/mysqld() [0x5bf242]/usr/libexec/mysqld(main+0x1b3) [0x5c1bb3]/lib64/libc.so.6(__libc_start_main+0xfd) [0x3514a1ed5d]/usr/libexec/mysqld() [0x509939]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.170807 11:37:02 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
看日志信息应该是异常关闭导致库损坏,找了一下帖子解决:
[root@ mysql]# cd /var/lib/mysql[root@ mysql]# lltotal 20496drwx------ 2 mysql mysql 4096 Jul 19 05:49 hotel_cdn_control-rw-rw---- 1 mysql mysql 10485760 Aug 7 11:41 ibdata1-rw-rw---- 1 mysql mysql 5242880 Aug 7 11:41 ib_logfile0-rw-rw---- 1 mysql mysql 5242880 Aug 7 11:41 ib_logfile1drwx------ 2 mysql mysql 4096 Jul 19 03:44 mysqlsrwxrwxrwx 1 mysql mysql 0 Aug 7 11:41 mysql.sockdrwxr-xr-x 2 root root 4096 Aug 7 11:41 olddrwx------ 2 mysql mysql 4096 Jul 19 03:44 test[root@ mysql]# mkdir bcksql[root@ mysql]# mv *ib* bcksql[root@ mysql]# service mysqld start
已解决。