linux改mysql默认引擎无法重启

更新时间:02-08 教程 由 情殇 分享

最近在使用Linux系统下的MySQL数据库时发现一个问题,即修改MySQL默认引擎为InnoDB后无法正常重启MySQL服务。

初步查看MySQL的日志文件,发现了以下错误提示:

InnoDB: Initializing buffer pool, size = ...InnoDB: mmap(137363456 bytes) failed; errno 12InnoDB: Completed initialization of buffer poolInnoDB: mmap(137363456 bytes) failed; errno 12InnoDB: Operating system error number 12 in a file operation.InnoDB: Error number 12 means 'Cannot allocate memory'.InnoDB: Some operating system error numbers are described atInnoDB: http://dev.mysql.com/doc/refman/5.7/en/operating-system-error-codes.htmlInnoDB: Operating system error number 12 in a file operation.InnoDB: Error number 12 means 'Cannot allocate memory'.InnoDB: Cannot allocate memory for the buffer poolInnoDB: Plugin initialization aborted with error Generic error

这个错误提示的意思是,当启用InnoDB引擎时,系统内存不足,无法完成数据库缓存的初始化和分配。

解决这个问题的方法是,需要在Linux系统上调整内存限制,以便给MySQL分配更多的内存空间。

首先,需要确认当前Linux系统的内存使用情况。可以通过以下命令查看当前内存使用情况:

free -h

这个命令会显示当前系统剩余的可用内存空间。

接下来,需要修改Linux系统的内存限制。可以通过以下命令编辑系统的内存限制文件:

sudo vi /etc/security/limits.conf

在这个文件中,可以添加以下两行内容,以提高MySQL进程可以使用的最大内存限制:

mysql soft memlock unlimitedmysql hard memlock unlimited

完成后,需要保存并关闭这个文件。

添加完这两行内容后,重新启动MySQL服务。如果一切正常,应该可以成功启动MySQL服务并使用InnoDB引擎了。

综上所述,调整Linux系统的内存限制是解决MySQL改为InnoDB引擎无法重启的问题的关键步骤。通过以上方法,可以给MySQL进程提供更多的内存空间,以便正常运行。

声明:关于《linux改mysql默认引擎无法重启》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2261448.html