前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[日常] PHP与Mysql测试kill慢查询并检验PDO的错误模式

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

作者头像
唯一Chat
发布2019-09-10 12:38:51
9490
发布2019-09-10 12:38:51
举报
文章被收录于专栏:陶士涵的菜地
代码语言: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 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档