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

timg

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

1、降低数据库 InnoDB 引擎的缓冲区大小
找到 MySQL 的配置文件,一般在 /etc/mysql/my.cnf 或者 /etc/my.cnf 这种位置。编辑配置文件,修改或添加下列行:

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

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

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

4、重启 MySQL
使用如下命令重启 MySQL:

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

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

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

参考文献
[1] https://my.oschina.net/cenchy/blog/740259
[2] https://oldtang.com/138.html

Add a Comment

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