一 简介:汇总程序报错提示的相关问题
二
问题 1 程序错误信息 max_allowed_packet 设置过小导致java程序写入失败
答案 1 max_allowed_packet=32M 写入配置文件并重启
2 set global max_allowed_packet=33554432
问题2 mysql错误日志 sort
错误日志:
[ERROR] /usr/local/mysql/bin/mysqld: Sort aborted: Query execution was interrupted
分析 sort_buffer_size默认2M,通常用于order by。属于session独享.我的推测是由于某个session会话导致的,通常情况下,是不会报错的
解决: 定位慢日志,优化慢sql.因为sort_buffer_size是session独享,不建议调节太大
问题3 程序执行事务时,报max_binlog_cache不足问题
具体错误描述 ulti-statement TRANSACTION required more THAN 'max_binlog_cache_size' bytes of STORAGE、
分析 1 事务根据生成binlog cache的大小算作事务的大小,由max_binlog_cache_size控制
2 max_binlog_cache_size 默认大小为32K
3 max_binlog_cache_size 是session级别独享的
总结 1 调整 参数大小 2 对大事务进行拆分
补充
1 Binlog_cache_disk_use表示因为我们binlog_cache_size设计的内存不足导致缓存二进制日志用到了临时文件的次数
Binlog_cache_use 表示 用binlog_cache_size缓存的次数
2 当对应的Binlog_cache_disk_use 值比较大的时候 我们可以考虑适当的调高 binlog_cache_size 对应的值
问题3 jdbc报连接错误问题
具体错误描述 error code [1094]; Unknown thread id: 73125270; nested exception is java.sql.SQLException: Unknown thread id: 73125270
分析 1 根据官网可以查看的错误代码解释,不过没什么用
2 经过与研发沟通,确认研发设置了jdbc超时时间
总结 jdbc超时时间的设置,一旦sql本身超过超时时间的设置,会发送kill session信息请求,导致jdbc报错
优化你的sql或者将超时时间设大都有助于错误的减少出现