[日常] PHP与Mysql测试kill慢查询并检验PDO的错误模式
<?php
try{
//1. pdo的错误模式,抛出异常,不记录到php的error日志,不影响代码继续运行,
$opts=array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
);
$pdo=new PDO("mysql:host=localhost;dbname=pan","root","xxxx",$opts);
$pdo->query('set names utf8');
$sth=$pdo->prepare("select sleep(20) from texts where title like '%测试%'");
$sth->execute(array("title"=>"测试"));
$res=$sth->fetchAll(PDO::FETCH_ASSOC);
print_r($res);
}catch(Exception $e){
//2. code不是整型,如果不进行处理,会在此处报Fatal的500错误
//Fatal error: Uncaught Error: Wrong parameters for MyDbException([string $message [, long $code [, Throwable $previous = NULL]]])
throw new MyDbException($e->getMessage(),intval($e->getCode()));
}
class MyDbException extends Exception{
}
echo "1111111";
/*
3.测试慢查询
3.1 sql语句中使用 select sleep(20) from
3.2 开启慢查询日志:
配置文件:/etc/mysql/mysql.conf.d/mysqld.cnf
slow_query_log = ON
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 1
show variables like 'slow_query%';
show variables like 'long_query_time';
3.3 kill掉mysql的连接线程
show full processlist;
kill id号
*/
十年开发经验程序员,离职全心创业中,历时三年开发出的产品《唯一客服系统》
一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)
官网地址:唯一客服官网
浙公网安备 33010602011771号