加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mycat 1.6.5 分片导入时报2013代码搞定方法

发布时间:2023-07-28 15:13:21 所属栏目:MySql教程 来源:
导读:Mycat 1.6.5 分片导入时报2013代码解决方法

1.基本信息,

mysql 5.7.22 节点: datanode1, datanode2, datanode3

mycat 1.6.5.

2.故障现象: 导入千万级测试数据的时候报2013,2006,或者3009连接中断
Mycat 1.6.5 分片导入时报2013代码解决方法
 
1.基本信息,
 
mysql 5.7.22 节点: datanode1, datanode2, datanode3
 
mycat 1.6.5.
 
2.故障现象: 导入千万级测试数据的时候报2013,2006,或者3009连接中断
 
ERROR 2013 (HY000) at line 176 in file: '/soft/TEST_1KW.sql': Lost connection to MySQL server during query
 
ERROR 2006 (HY000) at line 177 in file: '/soft/TEST_1KW.sql': MySQL server has gone away
 
No connection. Trying to reconnect...
 
Connection id: 142
 
Current database: mycatdb

查看vim log4j2.xml, Mycat log配置情况, 配置改为2500M, 日志级别已经改为 debug
 
<Policies>
 
<OnStartupTriggeringPolicy/>
 
<SizeBasedTriggeringPolicy size="2500 MB"/>
 
<TimeBasedTriggeringPolicy/>
 
</Policies>
 
</RollingFile>
 
</Appenders>
 
<Loggers>
 
<asyncRoot level="debug" includeLocation="true">
 
    <!--<AppenderRef ref="Console" />-->
 
    <AppenderRef ref="RollingFile"/>
 
3.使用for循环监控日志大小. 日志很快达到251M,
 
for i in {0..10000};do ls -lh;sleep 1;clear;done

4.mycat挂掉后, 查看导入数据量, 发现只导入了80W数据.
 
MySQL [mycatdb]> select count(*) from test_ber;
 
+--------+
 
| COUNT0 |
 
+--------+
 
| 826916 |
 
+--------+
 
1 row in set (0.17 sec)
 
======================================================
 
(期间也做了大量测试, 一一排除其他配置, java,内存等原因)直接说解决方法,
 
结论: , 由于日志满了导致mycat挂了. 所以我写了个for循环, 监控日志大小, 并每秒清理一下logs(在mycat logs目录运行): for i in {0..10000};do ls -lh;sleep 1;clear;echo "" > mycat.log;done
 
方法: 使用for循环
 
重启myat, 查看mycat监听.
 
登录mycat, 重新导入数据:
 
数据正在导入:
 
查看log大小情况 由于一直被清理, 所以日志很小, 并没有占满:
 
导入完成: 无报错
 
查看数据量: 1KW数据, 数据完整.
 
====================================================
 
更新一下, 其实修改 log4j2.xml 文件中, 改日志级别也能解决.
 
<asyncRoot level="info" includeLocation="true">
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章