1. 程式人生 > >【資料庫-MySql】Mysql 服務重啟服務後5s左右自動關閉

【資料庫-MySql】Mysql 服務重啟服務後5s左右自動關閉

背景

Window系統:Windows Server 2008 R2

資料庫版本:Mysql 5.5.8

AutoDM.err

181220 10:14:29 [Note] Plugin 'FEDERATED' is disabled.
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use Windows interlocked functions
InnoDB: Compressed tables use zlib 1.2.3
181220 10:14:29  InnoDB: Initializing buffer pool, size = 588.0M
181220 10:14:29  InnoDB: Completed initialization of buffer pool
181220 10:14:29  InnoDB: highest supported file format is Barracuda.
InnoDB: Log scan progressed past the checkpoint lsn 4104657837
181220 10:14:29  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 4104766247
181220 10:14:30  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 
InnoDB: Apply batch completed
181220 10:14:30  InnoDB: 1.1.4 started; log sequence number 4104766247
181220 10:14:30 [Note] Event Scheduler: Loaded 0 events
181220 10:14:30 [Note] Event Scheduler: scheduler thread started with id 1
181220 10:14:30 [Note] C:\Program Files (x86)\MySQL\MySQL Server 5.5\bin\mysqld: ready for connections.
Version: '5.5.8'  socket: ''  port: 3306  MySQL Community Server (GPL)
181220 10:14:31  InnoDB: Assertion failure in thread 3284 in file G:\pb2\build\sb_0-2629600-1291400768.4\mysql-5.5.8\storage\innobase\include\fut0lst.ic line 83
InnoDB: Failing assertion: addr.page == FIL_NULL || addr.boffset >= FIL_PAGE_DATA
InnoDB: 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, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.1/en/forcing-recovery.html
InnoDB: about forcing recovery.
181220 10:14:31 - mysqld got exception 0xc0000005 ;
This could be because you hit a bug. It is also possible that this binary
or 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 help diagnose
the problem, but since we have already crashed, something is definitely wrong
and this may fail.

key_buffer_size=317718528
read_buffer_size=65536
max_used_connections=0
max_threads=500
thread_count=1
connection_count=0
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 473900 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd: 0x0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
01318D1E    mysqld.exe!flst_read_addr()[fut0lst.ic:83]
012AA1B5    mysqld.exe!trx_purge_rseg_get_next_history_log()[trx0purge.c:700]
012AA5CB    mysqld.exe!trx_purge_get_next_rec()[trx0purge.c:979]
012AA89B    mysqld.exe!trx_purge_fetch_next_rec()[trx0purge.c:1067]
01318A25    mysqld.exe!row_purge()[row0purge.c:727]
01318AFD    mysqld.exe!row_purge_step()[row0purge.c:806]
012FD994    mysqld.exe!que_thr_step()[que0que.c:1247]
012FDF33    mysqld.exe!que_run_threads_low()[que0que.c:1305]
012FE0AA    mysqld.exe!que_run_threads()[que0que.c:1344]
012AAAC2    mysqld.exe!trx_purge()[trx0purge.c:1193]
0129B942    mysqld.exe!srv_master_do_purge()[srv0srv.c:2584]
0129BEE9    mysqld.exe!srv_master_thread()[srv0srv.c:2899]
75AC343D    kernel32.dll!BaseThreadInitThunk()
76EC9832    ntdll.dll!RtlInitializeExceptionChain()
76EC9805    ntdll.dll!RtlInitializeExceptionChain()
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
InnoDB: Thread 1808 stopped in file ..\..\..\mysql-5.5.8\storage\innobase\os\os0sync.c line 813
InnoDB: Thread 4796 stopped in file ..\..\..\mysql-5.5.8\storage\innobase\os\os0sync.c line 474

問題分析

由病毒誘發的Mysql5.5.8自身BUG。與5.5.8相近的版本(如5.3,5.4)可能都存在這個bug,容易被病毒攻擊。

解決方案

方案一、使用低版本Mysql服務 ,如Mysql Server 5.1.30

方案二、防毒,並重裝系統以及Mysql Server5.5.8版本。