首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >[日常] PHP与Mysql测试kill慢查询并检验PDO的错误模式

[日常] PHP与Mysql测试kill慢查询并检验PDO的错误模式

作者头像
唯一Chat
发布2019-09-10 12:38:51
发布2019-09-10 12:38:51
1.2K0
举报
文章被收录于专栏:陶士涵的菜地陶士涵的菜地
代码语言:javascript
复制
<?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号
*/
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-05-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档