许多小伙伴反馈说“为什么我的MySQL打不开”,“我安装路径都是正确的”,“我前几天还能打开,怎么今天就打不开了?”等一系列问题,其实你的MySQL一直不能启动成功,绝大多数问题都是你的内存不足。
我曾经也遇到过同样的问题,为什么MySQL打开一直不成功,后来我通过各种查询资料,最后才发现是我的MySQL内存不足:
那么如何查询自己MySQL到底是不是内存不足,我来教大家如何查询自己的MySQL内存。非常简单,如果磁盘空间不足,可以使用du命令察看:
du -h --max-depth=1,如下图所示:
由图可知,当前目录下占空间比较大的是104个mysql-bin.00000X 和ibdata1。我们的MySQL数据目录下有大量的mysql-bin.00000X文件,这些是什么文件呢?这些是数据库的操作日志,例如UPDATE一个表,或者DELETE一些数据,就算这个语句没有可匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间,也会记录进去。这些操作就非常占用内存空间了。
现在我们知道MySQL打不开是内存不足,那么该怎么解决MySQL内存不足呢,下面就来看看我给大家整理的一些方法吧。
(一)我们可以增加swap交换空间解决问题;
dd if=/dev/zero of=/swapfile bs=1M count=1024 mkswap /swapfile swapon /swapfile
如下图所示:
(二)我们增加自动挂载:
在文件/etc/fstab中加入 /swapfile swap swap defaults 0 0
service mysql start 启动成功。
(三)备注:
生成空文件
dd if=/dev/zero of=1.txt bs=1M count=2 生成一个指定大小的空文件
if=文件名:输入文件名
of=文件名:输出文件名
bs=字节大小
count=个数