1927: MariaDB: ER_CONNECTION_KILLED: Connection was killed(连接已被终止)
MySQL含义
MariaDB 特有:正在运行的连接/线程被服务器终止,执行中的查询被中断,客户端连接被断开。MySQL 中不存在此代码;在 MySQL 中,同样的情况在查询被中断时表现为 1317(ER_QUERY_INTERRUPTED),在连接断开时于客户端表现为 2013(Lost connection)。
原因
管理员或监控工具发送了 KILL 命令;服务器正在关闭;MariaDB 中的空闲连接限制,例如 idle_transaction_timeout/wait_timeout;或服务器在资源压力下断开连接。在云/代理环境的维护期间也会出现。
解决方法
调查查询被终止的原因:SHOW PROCESSLIST 和慢查询日志中的长时间运行查询;服务器维护/重启计划;连接终止策略。在应用中捕获此错误并安全重试(如果是幂等的)。优化并拆分长查询;在连接池中使用自动重连。
同一数据库的其他条目
- 2013Lost connection to MySQL server during query(查询期间与 MySQL 服务器的连接丢失)
- 1153Got a packet bigger than 'max_allowed_packet' bytes(收到的数据包大于 'max_allowed_packet' 字节)
- 1969MariaDB: Query execution was interrupted (max_statement_time exceeded)(MariaDB:查询执行被中断(超出 max_statement_time))
- 1290ER_OPTION_PREVENTS_STATEMENT: running with the --read-only option(以 --read-only 选项运行)
- 1836ER_READ_ONLY_MODE: Running in read-only mode(以只读模式运行)
- 3819ER_CHECK_CONSTRAINT_VIOLATED: Check constraint is violated(违反 CHECK 约束)
- 1118ER_TOO_BIG_ROWSIZE: Row size too large(行大小过大)