mysql CREATE TABLE IF NOT EXISTS metadata lock坑
今天早上被一声声警报声给吵醒,拿起手机一看,too many processes,proc.num达到了529,我一愣,什么情况,这报警是第一次遇到,还是同时3台服务器都报警。赶快登陆服务器看看,ps一下的确是很多进程,而且都应该早就结束了,于是猜测试mysql的问题,show processlist一看,竟然有300度metadata lock,瞬间不淡定了。
之前也是遇到过这个问题,但都是1,2个,很快就结束了。开始也是认为是CREATE TABLE IF NOT EXISTS导致的,但后来同事验证并不是这个问题导致的,一个进程循环100万次插入,另一个查询创建表,发现并没有冲突。
delimiter $$
CREATE PROCEDURE myproc()
BEGIN
DECLARE
i INT ;