在多個月之前,也就是服務(wù)器剛剛搭建的時候,標題中的MySQL問題就出現(xiàn)了,很是奇怪,博客過一段時間就毫無征兆的掛掉了,提示連接數(shù)據(jù)庫失敗,然后重新啟動一下MySQL服務(wù)就又可以正常運行了。但是這個問題總是像莫名其妙的發(fā)生,時不時的給我來一點小驚喜,小意外,我每次重啟MySQL服務(wù)之后就又可以正常運行了,所以就沒去怎么解決這個問題。但是最近真的是忍無可忍了,決定解決了它。
錯誤日志已經(jīng)找到了,我們打開看一下,通過我的分析,我的這個MySQL運行出錯有多處,但是直接導(dǎo)致MySQL宕機的只有一處。日志內(nèi)容如下:
分析得知,The InnoDB memory heap is disabled這個錯誤導(dǎo)致,這句話的大概意思就是InnoDB內(nèi)存堆是禁用的。
通過查閱資料發(fā)現(xiàn),MySQL默認的配置使用了操作系統(tǒng)的內(nèi)存分配器,禁用了InnoDB的內(nèi)置內(nèi)存分配器所至。默認的innodb_use_sys_malloc配置是決定內(nèi)存的分配器,當配置為1時是使用操作系統(tǒng)內(nèi)存的分配器,當配置為1時使用InnoDB的默認分配器。所以我們只要將這個配置修改為0即可。
找到MySQL的配置文件修改innodb_use_sys_malloc配置項為0.
查看配置文件中的配置后發(fā)現(xiàn)了一個尷尬的問題,竟然沒有找到這個innodb_use_sys_malloc配置項。原來MySQL在版本升級的時候曾經(jīng)取消了這個配置。但是人工添加上也是可以生效的。
Next activation : never
2019-07-13 14:46:49 5649 [Note] /www/server/mysql/bin/mysqld: Normal shutdown
2019-07-13 14:46:49 5649 [Note] Giving 0 client threads a chance to die gracefully
2019-07-13 14:46:49 5649 [Note] Event Scheduler: Purging the queue. 0 events
2019-07-13 14:46:49 5649 [Note] Shutting down slave threads
2019-07-13 14:46:49 5649 [Note] Forcefully disconnecting 0 remaining clients
2019-07-13 14:46:49 5649 [Note] Binlog end
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'partition'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'PERFORMANCE_SCHEMA'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_SYS_TABLESPACES'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN_COLS'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_SYS_FIELDS'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_SYS_COLUMNS'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_SYS_INDEXES'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_SYS_TABLESTATS'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_SYS_TABLES'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_FT_INDEX_TABLE'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_FT_INDEX_CACHE'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_FT_CONFIG'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_FT_BEING_DELETED'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_FT_DELETED'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_FT_DEFAULT_STOPWORD'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_METRICS'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_BUFFER_POOL_STATS'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE_LRU'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX_RESET'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_CMPMEM_RESET'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_CMPMEM'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_CMP_RESET'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_CMP'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_LOCK_WAITS'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_LOCKS'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'INNODB_TRX'
2019-07-13 14:46:49 5649 [Note] Shutting down plugin 'InnoDB'
2019-07-13 14:46:49 5649 [Note] InnoDB: FTS optimize thread exiting.
2019-07-13 14:46:49 5649 [Note] InnoDB: Starting shutdown...
2019-07-13 14:46:50 5649 [Note] InnoDB: Shutdown completed; log sequence number 341778147
2019-07-13 14:46:50 5649 [Note] Shutting down plugin 'BLACKHOLE'
2019-07-13 14:46:50 5649 [Note] Shutting down plugin 'ARCHIVE'
2019-07-13 14:46:50 5649 [Note] Shutting down plugin 'MRG_MYISAM'
2019-07-13 14:46:50 5649 [Note] Shutting down plugin 'MyISAM'
2019-07-13 14:46:50 5649 [Note] Shutting down plugin 'MEMORY'
2019-07-13 14:46:50 5649 [Note] Shutting down plugin 'CSV'
2019-07-13 14:46:50 5649 [Note] Shutting down plugin 'sha256_password'
2019-07-13 14:46:50 5649 [Note] Shutting down plugin 'mysql_old_password'
2019-07-13 14:46:50 5649 [Note] Shutting down plugin 'mysql_native_password'
2019-07-13 14:46:50 5649 [Note] Shutting down plugin 'binlog'
2019-07-13 14:46:50 5649 [Note] /www/server/mysql/bin/mysqld: Shutdown complete
2019-07-13 14:46:51 9424 [Note] Plugin 'FEDERATED' is disabled.
2019-07-13 14:46:51 2ae7df6e3f00 InnoDB: Warning: Setting innodb_use_sys_malloc to FALSE is DEPRECATED. This option may be removed in future releases, together with the InnoDB's internal memory allocator.
2019-07-13 14:46:51 9424 [Note] InnoDB: Using atomics to ref count buffer pool pages
2019-07-13 14:46:51 9424 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2019-07-13 14:46:51 9424 [Note] InnoDB: Memory barrier is not used
2019-07-13 14:46:51 9424 [Note] InnoDB: Compressed tables use zlib 1.2.3
2019-07-13 14:46:51 9424 [Note] InnoDB: Using Linux native AIO
2019-07-13 14:46:51 9424 [Note] InnoDB: Using CPU crc32 instructions
2019-07-13 14:46:51 9424 [Note] InnoDB: Initializing buffer pool, size = 16.0M
2019-07-13 14:46:51 9424 [Note] InnoDB: Completed initialization of buffer pool
2019-07-13 14:46:51 9424 [Note] InnoDB: Highest supported file format is Barracuda.
2019-07-13 14:46:51 9424 [Note] InnoDB: 128 rollback segment(s) are active.
2019-07-13 14:46:51 9424 [Note] InnoDB: Waiting for purge to start
2019-07-13 14:46:52 9424 [Note] InnoDB: 5.6.37 started; log sequence number 341778147
2019-07-13 14:46:52 9424 [Note] Server hostname (bind-address): '*'; port: 3306
2019-07-13 14:46:52 9424 [Note] IPv6 is available.
2019-07-13 14:46:52 9424 [Note] - '::' resolves to '::';
2019-07-13 14:46:52 9424 [Note] Server socket created on IP: '::'.
2019-07-13 14:46:52 9424 [Note] Event Scheduler: Loaded 0 events
2019-07-13 14:46:52 9424 [Note] /www/server/mysql/bin/mysqld: ready for connections.
Version: '5.6.37-log' socket: '/tmp/mysql.sock' port: 3306 Source distribution