【数据库-MySql】Mysql 服务重启服务后5s左右自动关闭

本文分析了Mysql5.5.8版本在WindowsServer2008R2环境下因病毒诱导产生的BUG,导致服务崩溃的具体错误信息及原因。提出了两种解决方案,一是回退到低版本如MysqlServer5.1.30,二是彻底清除病毒并重新安装系统及MysqlServer5.5.8。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

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版本。

处理一下出现的日志 Plugin 'FEDERATED' is disabled. 2017-11-15 19:23:46 16c0 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. 2017-11-15 19:23:46 1404 [Note] InnoDB: Using atomics to ref count buffer pool pages 2017-11-15 19:23:46 1404 [Note] InnoDB: The InnoDB memory heap is disabled 2017-11-15 19:23:46 1404 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions 2017-11-15 19:23:46 1404 [Note] InnoDB: Memory barrier is not used 2017-11-15 19:23:46 1404 [Note] InnoDB: Compressed tables use zlib 1.2.3 2017-11-15 19:23:46 1404 [Note] InnoDB: Not using CPU crc32 instructions 2017-11-15 19:23:46 1404 [Note] InnoDB: Initializing buffer pool, size = 9.0G 2017-11-15 19:23:46 1404 [Note] InnoDB: Completed initialization of buffer pool 2017-11-15 19:23:46 1404 [Note] InnoDB: Highest supported file format is Barracuda. 2017-11-15 19:23:46 1404 [Note] InnoDB: Log scan progressed past the checkpoint lsn 9219742510 2017-11-15 19:23:46 1404 [Note] InnoDB: Database was not shutdown normally! 2017-11-15 19:23:46 1404 [Note] InnoDB: Starting crash recovery. 2017-11-15 19:23:46 1404 [Note] InnoDB: Reading tablespace information from the .ibd files... 2017-11-15 19:23:46 1404 [Note] InnoDB: Restoring possible half-written data pages 2017-11-15 19:23:46 1404 [Note] InnoDB: from the doublewrite buffer... InnoDB: Doing recovery: scanned up to log sequence number 9219763629 InnoDB: 1 transaction(s) which must be rolled back or cleaned up InnoDB: in total 0 row operations to undo InnoDB: Trx id counter is 275040768 2017-11-15 19:23:47 1404 [Note] InnoDB: Starting an apply batch of log records to the database... InnoDB: Progress in percent: 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 2017-11-15 19:23:48 1404 [Note] InnoDB: 128 rollback segment(s) are active. InnoDB: Starting in background the rollback of uncommitted transactions 2017-11-15 19:23:48 fc8 InnoDB: Rolling back trx with id 275035944, 0 rows to undo 2017-11-15 19:23:48 fc8 InnoDB: Assertion failure in thread 4040 in file 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.6/en/forcing-innodb-recovery.html InnoDB: about forcing recovery. 2017-11-15 19:23:48 1404 [Note] InnoDB: Waiting for purge to start 2017-11-15 19:23:48 1404 [Note] InnoDB: 5.6.21 started; log sequence number 9219763629 2017-11-15 19:23:48 1404 [Note] Server hostname (bind-address): '*'; port: 3306 2017-11-15 19:23:48 1404 [Note] IPv6 is available. 2017-11-15 19:23:48 1404 [Note] - '::' resolves to '::'; 2017-11-15 19:23:48 1404 [Note] Server socket created on IP: '::'. 2017-11-15 19:23:48 1404 [Note] Event Scheduler: Loaded 0 events 2017-11-15 19:23:48 1404 [Note] D:\Documents\mysql\bin\mysqld.exe: ready for connections. Version: '5.6.21' socket: '' port: 3306 MySQL Community Server (GPL)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值