记一次 mysql 启动没反应 ,重启linux又可以启动
vim /var/log/mysqld.log
2018-02-04 13:22:49 28507 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2018-02-04 13:22:49 28507 [ERROR] Plugin 'InnoDB' init function returned error.
2018-02-04 13:22:49 28507 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2018-02-04 13:22:49 28507 [ERROR] Unknown/unsupported storage engine: InnoDB
2018-02-04 13:22:49 28507 [ERROR] Aborting
https://stackoverflow.com/questions/25965638/mysql-fatal-error-cannot-allocate-memory-for-the-buffer-pool
http://blog.csdn.net/xianglingchuan/article/details/72725346
最终找到了解决方法:原址引用: http://blog.csdn.net/qq648472886/article/details/78936040
于是继续,来看看内存占用情况:
- <span style="font-size:18px;">[root@iZuzc9f4ma6h2iZ ~]# free -m
- total used free shared buff/cache available
- Mem: 992 435 413 1 142 403
- Swap: 0 0 0</span>
显然,结果很磕馋。内存仅413M,而且没有 Swap 分区。
那么问题来了,mysql 启动到底需要多少内存?
官网是这什么回答的:
MySQL allocates buffers and caches to improve performance of database operations. The default configuration is designed to permit a MySQL server to start on a virtual machine that has approximately512MB of RAM. You can improve MySQL performance by increasing the values of certain cache and buffer-related system variables. You can also modify the default configuration to run MySQL on systems with limited memory.答案是有,
vim /etc/my.cnf
添加:
performance_schema_max_table_instances=200 table_definition_cache=200 table_open_cache=128ok,再次运行 service mysqld restart ,没什么问题。