这阵子碰到一个数据库上的问题,一个刚上线不到一周的 NodeJs 接口服务里所有的查询全部都挂掉了,接口一直处于 pending 状态,看了下 pm2 的日志发现了报错:Cant't create more than max_prepared_stmt_count statements,重启 Node 服务后接口查询恢复正常。

网上查了查资料基本上都是让修改 max_prepared_stmt_count 的,当时觉得这个方案治标不治本就没有采纳,后来优化了一下MySQL的部分代码就让服务继续跑着,后来又一周左右的时间服务又挂掉了。

CTO 也没碰到过这个问题然后几经搜索,最后发现了一个非常靠谱的解决方案。

语句问题,举例:

query(`SELECT nickname FROM users WHERE id = ${id} AND age = ?`, [age])

是因为语句中引入了变量导致的,我一般只有把需要转义的部分用问号填充,不需要转移的都是放到变量里的。

统一改成下面这种方式以后

query(`SELECT nickname FROM users WHERE id = ? AND age = ?`, [id, age])

截至目前为止服务跑的稳定很多,已经跑了半个月左右了。

mysql maxpreparedstmtcount_NodeJs Mysql Cant't create more than max_prepared_stmt_count statements相关推荐

  1. MySQL 报 Can't create more than max_prepared_stmt_count statements

    前言 最近压测完毕以后, MySQL 报 Can't create more than max_prepared_stmt_count statements. 正常情况下是程序没有关闭 stmt 导致 ...

  2. jmeter连接MySQL出错_MySQL数据库之jmeter连接mysql数据库报错Cannot create PoolableConnectionFactory...

    本文主要向大家介绍了MySQL数据库之jmeter连接mysql数据库报错Cannot create PoolableConnectionFactory  ,通过具体的内容向大家展现,希望对大家学习M ...

  3. mysql ERROR 1396 (HY000): Operation CREATE USER failed 解决办法

    mysql ERROR 1396 (HY000): Operation CREATE USER failed 解决办法 mysql 创建用户的时候: create user 'hive' identi ...

  4. 【数据分析师自学系列-MySQL】创建新表create table、create table as、create table like的区别

    [数据分析师自学系列-MySQL]创建新表create table.create table as.create table like的区别 1.create table:基本创建新表方式 格式如下: ...

  5. 【Mysql】EVENT 使用基础 - Create Event

    目录 [Mysql]EVENT 使用基础 - Create Event [Mysql]EVENT 使用基础 - Alter Event [Mysql]EVENT 使用基础 - Drop Event [ ...

  6. mysql的sql_quote_show_create与SHOW CREATE TABLE命令介绍

    来源:http://blog.sina.com.cn/s/blog_86d9fde701014dm1.html 技术背景: 刚开始学习MySQL时候,有时偷懒,会用SHOW CREATE TABLE ...

  7. mysql select table_MySQL中的CREATE TABLE……SELECT语句

    在MySQL中,可使用CREATE TALBE. . .SELECT语句将查询结果转存到一个新表中. 创建新表 create table tabname(col1 type1 [not null] [ ...

  8. MySQL Cluster(MySQL 集群) 初试(转)

    作/译者:叶金荣(imysql#imysql.com>),来源:http://imysql.com,欢迎转载. 作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请 ...

  9. 设置更改root密码(远程,本地)、连接mysql、mysql常用命令

    设置更改root密码 1.将mysql加入环境变量中 [root@centos7 ~]# grep mysql /etc/profile export PATH=/usr/local/mysql/bi ...

最新文章

  1. R语言ggplot2可视化增加坐标轴的刻度数实战:自定义坐标轴刻度粒度、增加坐标轴刻度的粒度、更加精细地表达
  2. javascript入门·简单运算和数据类型转换
  3. 个人的关于c++运算符重载的总结
  4. luogu 3796 【模板】AC自动机(加强版)
  5. POJ1364基本的查分约束问题
  6. Freemaker FTL指令常用标签及语法
  7. Jmeter远程测试
  8. 【操作系统】信号量的用法
  9. PHP删除排序数组中的重复项,每日一道算法:删除排序数组中的重复项
  10. html strong标签 无法渲染,javascript – 当我动态设置内容时,TinyMCE无法使用chrome
  11. Unity资源打包之Assetbundle
  12. 我的开源项目:TS封装格式分析器
  13. C Hello World程序
  14. 项目开发版本控制----Git
  15. html大小和浏览器可视区域一样吗,浏览器窗口可视区域大小和网页尺寸和网页卷去的距离与偏移量...
  16. jq 如何获取和当然元素相同类名的标签_JS/JQ基于localStorage的本地数据储存指南...
  17. 简单的选课系统(6)——选课界面和管理员界面
  18. maya检查模型重合点脚本
  19. linux运行docker容器,添加映射端口
  20. linux eclipse插件安装,Linux 下 EclipseME 插件的安装步骤

热门文章

  1. oracle 随机排列,oracle的随机排序
  2. 钉钉怎么设置考勤打卡规则
  3. 手机优酷怎么删除自己发的弹幕
  4. java方法的重载与覆盖的返回值类型
  5. Mybatis的xml配置实例
  6. 学习Spring Boot:(七)集成Mybatis
  7. java虚拟机——JVM
  8. c++ 查找文件夹下最新创建的文件_云计算开发总结:搜索Linux文件和文件夹的方法...
  9. js 二叉树图形_js数据结构和算法(三)二叉树
  10. switch语句可以被代替吗_爬楼梯可以代替跑步吗?