记一次mysql连接数超200线上故障
2017-03-07 22:28
323 查看
RT,今晚上本来准备上线服务。上线之前先准备把数据库相关内容更新.
SQL如下:
很简单的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后立马爆炸.
解决办法很简单,先加索引,在去除唯一约束。
还能说啥呢。。。不专业!!!活该背锅。。
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后立马爆炸.
解决办法很简单,先加索引,在去除唯一约束。
还能说啥呢。。。不专业!!!活该背锅。。
相关文章推荐
- [MySQL]记录一次线上故障处理过程--> has more than 'max_user_connections' active connections
- [MySQL]记录一次线上故障处理过程--> has more than 'max_user_connections' active connections
- 一次MySQL无法启动故障的解决案例
- 一次MySQL5.7线上故障分析
- 一次线上服务故障应急问题总结
- 一次故障解决过程梳理:mysql varchar text timestamp
- 一次关于mysql故障的处理
- mysql故障 异常数据 最近一次
- 记一次帮网友解决非法 KILL MySQL服务引起的故障
- 线上MYSQL同步报错故障处理总结
- 一次线上OOM故障排查经过
- 线上MYSQL同步报错故障处理总结 实现同步不一致进行邮件报警
- 一次线上GC故障解决过程记录
- 一次MySQL慢查询导致的故障
- MySQL线上 MM结构架构一次手动failover的过程
- 一次mysql复制故障排除
- 线上MYSQL同步报错故障处理方法总结(必看篇)
- 一次“MySQL server has gone away”故障及其解决