mysql经常锁死怎么办以及解决方法

一:原因:mysql 表锁死通常是我们配置没配置好的同时网站流量也不小这样导致服务器或mysql处理不过来出现mysql 表锁死问题了

           1:老版本mysql容易锁表

     2:select 一般不会锁表 其他update insert deleted 会锁表(因为锁表是一个安全机制不要非法插入数据库)

 

 

 

二:解决方法:

    方法1:对锁表的sql语句进行修改,尽量用键值的读取数据,

    方法2:更改ENGINE=MyISAM 为innodb

    方法3:进入phpmyadmin 解除锁表状态

    简单粗暴的解决方法

 

//执行SQL语句 锁掉stat_num表 
$sql = "LOCK TABLES stat_num WRITE"; //表的WRITE锁定,阻塞其他所有mysql查询进程 
$DatabaseHandler->exeCute($sql); 
//执行更新或写入操作 
$sql = "UPDATE stat_num SET `correct_num`=`correct_num`+1 WHERE stat_date='{$cur_date}'"; 
$DatabaseHandler->exeCute($sql); 
//当前请求的所有写操作做完后,执行解锁sql语句 
$sql = "UNLOCK TABLES"; 
$DatabaseHandler->exeCute($sql); 

 

 

posted @ 2017-02-22 14:10  王传明  阅读(1630)  评论(0编辑  收藏  举报