2006 MySQL server has gone away

在使用MySQL PDO来处理数据库查询等等, 有些时候比如后台任务、操作时间过长,会出现“2006 MySQL server has gone away”问题。很明显解决这个问题有两种方式,第一种延长超时时间,第二种操作之前检查连接是否在线。

延长超时时间

在查询开始时设置wait_timeout = 28800(和interactive_timeout = 28800), 并检查时候设置上。

SET wait_timeout=28800
SET interactive_timeout = 28800
SHOW VARIABLES LIKE  '%timeout%'

PDO添加ping操作

try {
    $this->pdo->query('SELECT 1');
} catch (PDOException $e) {
    return false
}
return true;
4.5
02
linux alias命令
mysqlshow快速获取有关MySQL数据库,表,列和索引信息
嘻嘻

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Share
Published by
嘻嘻
Tags: mysqlPHP

Recent Posts

SEOJuice一款AI内链优化工具

SEOJuice是一款创新的工…

1天 ago

全球货币导航网页上线了!

o在全球化的今天,货币兑换和国…

2天 ago

bash字符串拼接

在编程中,字符串的拼接是一个非…

2天 ago

Bash Case详解

Bash case 语句通常用…

2天 ago