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号 
*/ 

  

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/12565.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论