现在使用的 Centos7.2 系统,数据库版本是 Mariadb5.5.52.
很多次打开网站时提示数据库链接错误,于是进入命令行中查找数据库日志文件查找原因:
发现了是内存不足导致数据库自动关闭.
运行下列语句查看服务器内存使用情况:
#[root@VM_247_254_centos ~]free -m
Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用.
于是在服务器内存不足的情况下,不能使用swap分区,导致了数据库意外关闭.
现在来创建一个1024MB的Swap分区
1. 创建swapfile
[root@VM_247_254_centos ~]# dd if=/dev/zero of=/swapfile bs=1024 count=1048576
1048576+0 records in
1048576+0 records out
1073741824 bytes (1.1 GB) copied, 20.8217 s, 51.6 MB/s
在分配过程中会明显感觉卡住,等待一会就能够分配成功
2.使用下面的命令配置 swap 文件:
[root@VM_247_254_centos ~]# mkswap /swapfile
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=2c52576d-5773-4e5a-9e7e-76754c0155da
3.接下来,使用下面的命令立即启用 swapfile
[root@VM_247_254_centos ~]# swapon /swapfile
swapon: /swapfile: insecure permissions 0644, 0600 suggested.
4.最后,我们在 /etc/fstab 中添加下面一行,这样可以在系统下次重启时自动生效创建的 swapfile
[root@VM_247_254_centos ~]# vi /etc/fstab
使用vi进入到/etc/stab文件,然后通过i命令在文件最后插入下面这句
/swapfile swap swap defaults 0 0
最后该文件应该是这样的
5.使用 cat /proc/swaps或 free -m 查看 swapfile 的生效情况
6.重启httpd服务和mariadb服务
[root@VM_247_254_centos ~]# systemctl restart httpd.service
[root@VM_247_254_centos ~]# systemctl restart mariadb.service
在这时应该能够解决数据库内存不足的问题了.