在一次服务器到期续费以后,mysql总是意外停止,但是停止以后又可以启动,根据错误日志得到了这个输出

2020-09-07T15:01:17.417108Z 0 [ERROR] [MY-012681] [InnoDB] InnoDB: mmap(137428992 bytes) failed; errno 12
2020-09-07T15:01:17.622262Z 1 [ERROR] [MY-012956] [InnoDB] InnoDB: Cannot allocate memory for the buffer pool
2020-09-07T15:01:17.737354Z 1 [ERROR] [MY-012930] [InnoDB] InnoDB: Plugin initialization aborted with error Generic error.
2020-09-07T15:01:18.014942Z 1 [ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine
2020-09-07T15:01:18.711631Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2020-09-07T15:01:18.914563Z 0 [ERROR] [MY-010119] [Server] Aborting

大概意思是swap分区不够导致的,需要对swap经常扩充,扩充的步骤为

添加swap
1. 用dd命令创建一个swap分区,在这里创建一个8G大小的分区
dd if=/dev/zero of=/var/swapfile bs=1M count=8192
if=文件名:表示指定源文件
of=文件名:表示指定目的文件,可以自己去设定目标文件路径。
bs=xx:同时设置读入/写出的“块”大小
count=xx:表示拷贝多少个“块”
bs * count 为拷贝的文件大小,即swap分区大小
2. 格式化新建的分区文件
mkswap /var/swapfile
3. 将新建的分区文件设为swap分区
swapon /var/swapfile
4. 设置开机自动挂载swap分区
echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab
5. 最后free -h看一下swap是否分配成功>
删除swap
1. 先停止swap分区
swapoff /var/swapfil
2. 删除swap分区文件
rm -rf /home/swap
3.如果配置了自启动命令,修改/etc/fstab文件吧相关命令删除了
Categories: linux

0 Comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注