[日常] 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号
*/

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值