您的位置:首页 > 数据库 > MySQL

记一次mysql连接数超200线上故障

2017-03-07 22:28 323 查看
RT,今晚上本来准备上线服务。上线之前先准备把数据库相关内容更新.

SQL如下:

CREATE TABLE `t_1` (
`id` bigint(8) NOT NULL AUTO_INCREMENT,
xxxxxxxxxxxxxxxxxxxxxxxx
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `t_2` (
`id` bigint(8) NOT NULL AUTO_INCREMENT,
xxxxxxxxxxxxxxxxxxxx
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ALTER TABLE t_3 drop index `relation_key`;


很简单的2个新表及去掉一个表的唯一键约束.

没想到就跪舔了…

org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: Couldn’t get connection because we are at maximum connection count (200/200) and there are none available

at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:238)

问题很简单,我很白痴。。。

本来是因为业务需要去掉唯一性。

然后就drop unique key.

就这个玩意儿有大问题!

我们的这个表记录很多,上千万,对待这种表,索引那是必须的。。

之前这个unique key不仅是唯一的作用另外还是一个索引。。

因此drop后立马爆炸.

解决办法很简单,先加索引,在去除唯一约束。

还能说啥呢。。。不专业!!!活该背锅。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: