512M内存机器如何用好Mysql

购买阿里云512M内存ECS后,mysql有时候会自动关闭,停止运行

解决办法:

a,优化mysql配置,因为自己安装的是mysql 5.6,而从5.6开始,mysql安装包中不再包含my-small.cnf配置文件。该文件是为内存小于64M的服务器设计的配置参数。所以,只需将my.cnf中的参数配置成mysql 5.5安装包中my-small.cnf的参数。mysql5.6中my-small.cnf在线链接如下:https://github.com/subsven/mysql-5.5-debian/blob/master/support-files/my-small.cnf.sh

b, 如果未使用innodb存储引擎,请在my.cnf中[mysqld]行之下添加 skip-innodb

c, 检查mysql加载的my.cnf配置文件是否正确

先找到mysqld的位置

[root@AY140508071824543c68Z bin]# find / -name mysqld

/opt/lampp/sbin/mysqld

查看系统中存在几个my.cnf文件

[root@AY140508071824543c68Z bin]# find / -name my.cnf

/opt/lampp/etc/my.cnf

查看mysqld加载的配置文件,注意mysqld 加载的时候, 从左到右的读出上面列出的文件, 并进行Merge, 参数重复时, 以后加载的为准

[root@AY140508071824543c68Z bin]# /opt/lampp/sbin/mysqld --verbose --help |head -15

Default options are read from the following files in the given order:

/opt/lampp/etc/xampp/my.cnf /opt/lampp/etc/my.cnf ~/.my.cnf

建议删除无关的my.cnf配置

d, 创建cron程序监控mysql, 并在异常时自动重启mysql,下面以我部署的xampp环境为例。

[root@AY140508071824543c68Z ~]# vim mysql-check.sh

添加如下代码:

#!/bin/bash

/opt/lampp/lampp status | grep 'MySQL is running' > /dev/null

if [ $? != 0 ]

then

    /opt/lampp/lampp restart

fi

保存,然后执行

[root@AY140508071824543c68Z ~]# crontab -e

添加如下代码:

* * * * * ~/mysql-check.sh

保存

参考链接:

http://blog.163.com/eric1945@126/blog/static/16493457220110266112909/

https://www.digitalocean.com/community/tutorials/how-to-use-a-simple-bash-script-to-restart-server-programs

http://bbs.aliyun.com/read/162055.html?spm=5176.7114037.1996646101.52.3qOTB9

原文地址:https://www.cnblogs.com/dolphin-luck/p/4032789.html