在公司用golang 写了个插入外链数据的服务,这服务是2016年写的,大概作用就是,python 爬取的数据,要同步到 wordpress中,golang就负责,将数据整理,图片下载弄到 wordpress中,当然也不止这些服务,本来这个服务之前运行的好好的,可是最近又上了新的数据采集道后,这个服务就显得不稳定了,后台日志,经常报

packet sequence error

这个错,纠缠了很久,一直找不到原因,在github上面发现原来作者也有这个坑 https://github.com/ziutek/mymysql/issues/105

其实,这个错,报的就是一个多协程(线程)的问题,其实说来也怪,我们最近有几个项目都用golang写的就从来没有报过这个错,为啥这个就报这个错,反复的review 代码

var db *mysql.DB //定义了全局的db

func init() {
db, _ = MysqlConn.Get().(*mysql.DB) //封装的线程池里拿
}

目前就感觉这个是有点毛病,好好看了下golang 的init函数

1.初始化不能采用初始化表达式初始化的变量。
2.程序运行前的注册。
3.实现sync.Once功能。
4.其他

肯定这个初始化的时候不能写到 init中,于是换了个写法

func GetDB() *mysql.DB {
return MysqlConn.Get().(*mysql.DB)
}

直接通过调用GetDB()获取数据的链接,然后再操作,观查了一下午,暂时没有报这个错

golang mysql 的 packet sequence error 这个错的更多相关文章

  1. 连接 MySQL 报错:Lost connection to MySQL server at 'reading authorization packet', system error: 34

    报错信息: Lost connection to MySQL server at 解决方案: use mysql; ; flush privileges; 参考: https://blog.csdn. ...

  2. 使用cmd命令登录mysql数据库时报2013-Lost connection to MYSQL server at 'waiting for initial communication packet',system error:0

    [错误内容]:SQL Error (2013): Lost connection to MySQL server at 'waiting for initial communication packe ...

  3. MySQL远程连接丢失问题解决方法Lost connection to MySQL server at ‘reading initial communication packet’, system error: 0

    最近远程连接mysql总是提示 Lost connection 很明显这是连接初始化阶段就丢失了连接的错误 其实问题很简单,都是MySQL的配置文件默认没有为远程连接配置好,只需要更改下MySQL的配 ...

  4. 虚拟机中MySQL连接问题:Lost connection to MySQL server at 'reading initial communication packet, system error: 0 以及 host is not allowed to connect mysql

    环境:在VirtualBox中安装了Ubuntu虚拟机,网络使用了NAT模式,开启了端口转发. 局域网内其他计算机访问虚拟机中的MySQL Server出现两个问题: Lost connection ...

  5. ERROR 2013 (HY000): Lost connection to MySQL server at 'waiting for initial communication packet', system error: 2

    ERROR (HY000): Lost connection to MySQL server at 'waiting for initial communication packet', system ...

  6. Lost connection to MySQL server at ‘reading initial communication packet', system error: 0 mysql远程连接问题

    在用Navicat for MySQL远程连接mysql的时候,出现了 Lost connection to MySQL server at ‘reading initial communicatio ...

  7. mysql远程连接问题 Lost connection to MySQL server at ‘reading initial communication packet', system error: 0

    在用Navicat for MySQL远程连接mysql的时候,出现了 Lost connection to MySQL server at ‘reading initial communicatio ...

  8. ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 0

    最近遇到一个MySQL连接的问题,远程连接MySQL时遇到"ERROR 2013 (HY000): Lost connection to MySQL server at 'reading a ...

  9. 在给mysql数据库备份时,报错: mysqldump: Got error: 145: Table '.\shengdaxcom\pre_forum_thread' is marked as c rashed and should be repaired when using LOCK TABLES

    在给mysql数据库备份时,报错: mysqldump: Got error: 145: Table '.\shengdaxcom\pre_forum_thread' is marked as cra ...

随机推荐

  1. centos django Failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODING

    os环境 centos python2.7.5 django1.10.8 class AdminAutoRunTask(View): """ 自动跑外放任务 " ...

  2. css高級技巧

    1.鼠標顯示 a:小手cursor:pointer b:默認cursor:default c:勾選文本cursor:text d:拖動cursor:move 2.css三種佈局模型 a.流動模型(默認 ...

  3. codeforces483B

    Friends and Presents CodeForces - 483B You have two friends. You want to present each of them severa ...

  4. [模板] 数位dp

    数位dp 简介 数位dp指满足特定性质的数的计数, 如求 \([l, r]\) 区间内不含 \(2\) 的数的个数. 一般来说, 数位dp利用dfs解决, 有时状态数较多, 需要hash表优化. 模板 ...

  5. java垃圾回收GC

    垃圾回收时,暂停虚拟机运行 基础假设:大部分对象只存在很短的时间 对于新生代,Minor GC经常会发生 Major/Full GC会对老生代做GC 老生代GC采用Compact算法,移动形成完整的空 ...

  6. 皮尔逊相关系数与余弦相似度(Pearson Correlation Coefficient & Cosine Similarity)

    之前<皮尔逊相关系数(Pearson Correlation Coefficient, Pearson's r)>一文介绍了皮尔逊相关系数.那么,皮尔逊相关系数(Pearson Corre ...

  7. jzoj6101. 【GDOI2019模拟2019.4.2】Path

    题目链接:https://jzoj.net/senior/#main/show/6101 记\(f_i\)为从\(i\)号点走到\(n\)号点所花天数的期望 那么根据\(m\)条边等可能的出现一条和一 ...

  8. Magento2自定义命令

    命令命名准则 命名指南概述 Magento 2引入了一个新的命令行界面(CLI),使组件开发人员能够插入模块提供的命令. Command name Command name 在命令中,它紧跟在命令的名 ...

  9. [再寄小读者之数学篇](2014-06-26 Logarithmical Sobolev inequality using BMO space)

    $$\bex q>3\ra \sen{\n f}_{L^\infty} \leq C(q)\sez{ 1+\sen{\n f}_{BMO} \ln^\frac{1}{2}\sex{e+\sen{ ...

  10. 【Java】Java随手记

    System.out.printf() : System.out.printf("%d",x);               输出整数 System.out.printf(&quo ...