阿里云 MySQL 频繁挂掉的解决方法

阿里云如果使用低配的服务器,随着访问量增大,上面的 MySQL 经常被系统停掉。除了升级内存硬盘等系统资源外,还可以使用如下方法尝试解决下:

1、降低数据库 InnoDB 引擎的缓冲区大小

找到 MySQL 的配置文件,一般在 /etc/mysql/my.cnf 或者 /etc/my.cnf 这种位置。编辑配置文件,修改或添加下列行:

innodb_buffer_pool_size = 64M

2、添加 SWAP 分区

阿里云服务器默认不带 SWAP 分区,我们可以自己创建。请在 Shell 中依次执行以下命令:

dd if=/dev/zero of=/swapfile bs=1M count=1024
mkswap /swapfile
swapon /swapfile

说明:创建一个有 1024 个块的区,每块 1M,总的来说就是创建一个 1024M 的区;接下来将该区设为 swap 分区;再接着启用 swap 分区。

3、SWAP 分区自启动

添加下面这行到 /etc/fstab,让刚才创建的 SWAP 分区随系统重启:

/swapfile swap swap defauluts 0 0

4、重启 MySQL

使用如下命令重启 MySQL:

systecmtl restart mysqld

采用以上操作后可以观察下是否还有频繁挂掉的现象。如果仍然存在可以尝试以下更多操作限制 MySQL 连接数。

更多操作

除了上述这些,我们还可以进一步限制 MySQL 的连接数。还是修改 MySQL 配置文件,添加或者修改下面这一行:

max_connections = 100

如果这些操作都做了还是不行,请考虑升级你的机器内存、CPU等配置或者购买阿里云的数据库服务。

下面是销毁停用 SWAP 的方法:

1、先停止 swap 分区

/sbin/swapoff /swapfile

2、删除 swap 分区文件

rm -rf /swapfile

3、修改 /etc/fstab文件,把

/swapfile swap swap defaults 0 0

这行删除。 这样就能把手动增加的分区删除了。

打赏一个呗

取消

失败是成功之母,鼓励是成功“支付”。

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦