系统资源不足,mysql数据库总是自动关闭

如果系统资源不足,MySQL数据库可能会自动关闭。您可以检查系统资源使用情况,例如内存和CPU使用情况,以确保它们没有超过系统限制。

如果你不想花钱升级,最有效的方法是,在数据库自动关闭的情况下,又自动开启。

这里需要,这样做:

要在宝塔后台设置MySQL在系统资源不足自动关闭的情况下自动开启数据库,您可以按照以下步骤进行操作:

  1. 进入宝塔面板,选择“计划任务”选项卡,单击“添加计划任务”。
  2. 在添加计划任务页面中,选择“监控”类型,然后输入以下命令:
    /etc/init.d/mysql status
    

    这将检查MySQL服务的状态。

  3. 在“监控周期”部分中,选择您希望监控MySQL服务的时间间隔。例如,您可以选择每分钟监控一次。
  4. 在“报警条件”部分中,选择“当监控结果为”并选择“停止”选项,这将在MySQL服务停止时触发警报。
  5. 在“报警方式”部分中,选择“执行脚本”并输入以下命令:
    systemctl start mysql.service
    

    这将在MySQL服务停止后自动启动服务。

  6. 保存并应用更改。

现在,当MySQL服务停止时,宝塔将自动启动该服务。请注意,您需要确保系统有足够的资源来支持MySQL服务运行,否则它可能会在不断启动和停止之间循环。

如果您在宝塔面板的计划任务页面中没有“监控”类型选项,则您可以尝试使用以下步骤来设置MySQL服务在系统资源不足时自动重启:

  1. 进入宝塔面板,选择“计划任务”选项卡,单击“添加计划任务”。
  2. 在添加计划任务页面中,选择“命令”类型。
  3. 在“命令”文本框中输入以下命令:
    pid=$(ps -ef | grep mysql | grep -v grep | awk '{print $2}'); if [ -z "$pid" ]; then systemctl start mysql.service; fi
    这个命令将会检查MySQL是否正在运行,如果不是,则会自动启动MySQL服务。或者添加这个Shell脚本执行代码:

    pgrep -x mysqld &> /dev/null
    
    if [ $? -ne 0 ];then
    
    bash /www/server/panel/script/rememory.sh
    
    /etc/init.d/mysqld start
    
    fi
    
  4. 在“执行周期”部分中,选择您希望检查MySQL服务状态的时间间隔。例如,您可以选择每分钟检查一次。
  5. 保存并应用更改。

现在,当MySQL服务停止时,宝塔将自动启动该服务。请注意,您需要确保系统有足够的资源来支持MySQL服务运行,否则它可能会在不断启动和停止之间循环。