Linux Shell 脚本实时检测 MySQL 状态 挂掉立即自动重启

2023-08-27 5085阅读 0评论
首页 » 资源 » 技术 » 正文

Linux Shell 脚本实时检测 MySQL 状态 挂掉立即自动重启

为什么会出现数据库连接错误

相信很多朋友都遇到过 wordpress 提示“建立数据库连接时出错”(英文:“Error establishing a database connection”)这个错误,一般遇到这个错误,基本就 2 种情况:其一,WordPress 根目录下的 wp-config.php 文件里的数据库连接信息有误;另一种情况,是 Mysql 数据库停止了。

Linux Shell 脚本实时检测 MySQL 状态 挂掉立即自动重启 第1张

第一种情况很少出现,大家遇到的基本都是第二种了,Mysql 数据库停了。下面就来说说这第二种情况出现的原因及怎么解决?

Mysql 数据库停止的原因

通常来说,正常运行的 MySQL 突然意外停止的原因,大多数是这几个:服务空间满了,服务器被攻击了,数据库读写多服务器性能差了…

对于第三种情况的话,就建议大家一定要百度安装启用好 wordpress 的 Memcached 或 Redis 数据库缓存功能。如果不会启用的话,可以付费找我哈。

Mysql 数据库停止的解决方法

大多数情况下,我们都不可能知道 MySQL 数据库是否停止了,那么如何确保 MySQL 数据库停止后,及时启动 MySQL 呢?下面就来介绍解决方法。

1.宝塔面板

使用宝塔面板的话,就很简单了,前往“计划任务”菜单,“任务类型”选“shell 脚本”,“执行周期”选“N 分钟”,然后填 15 分钟,“脚本内容”内容填下面的代码(谢谢群友 @川建国 提供的脚本):

这样就可以每隔 15 分钟自动检测 MySQL 是否停止,停止的话就会自动启动了。PS:时间间隔 15 自行修改。

2.其他通用

如果你使用的其他面板程序的话,则可以使用下面的通用方法来解决。

2.1 制作脚本

将下面代码保存文件名为dr_check_mysql.sh,然后上传至服务器的root目录下,然后执行命令chmod +x /root/dr_check_mysql.sh赋予该脚本文件执行权限:

2.2 添加定时任务

用 crontab -e 命令添加一个定时任务,其中的时间间隔 15 自行修改:

  */15 * * * * /bin/bash /root/dr_check_mysql.sh

免责声明
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明。
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所
提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何
损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在
转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并白负版权等法律责任。

手机扫描二维码访问

    文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

    发表评论

    快捷回复: 表情:
    评论列表 (暂无评论,5085人围观)

    还没有评论,来说两句吧...

    目录[+]