max_prepared_stmt_count
来源:互联网 发布:dota2数据查询网站 编辑:程序博客网 时间:2024/04/30 00:12
SqlServer迁移数据到MySQL报错
链接服务器"192.168.66.53(ewallet_lxl)"的 OLE DB 访问接口 "MSDASQL" 返回了消息 "[MySQL][ODBC 5.2(w) Driver][mysqld-5.5.17-log]Can't create more than max_prepared_stmt_count statements (current value: 16382)"。
消息 7343,级别 16,状态 4,第 1 行
链接服务器 "192.168.66.53(ewallet_lxl)" 的 OLE DB 访问接口 "MSDASQL" 无法 UPDATE 表 "[MSDASQL]"。
解决方案:
max_prepared_stmt_count 参数限制了同一时间在mysqld上所有session中prepared 语句的上限。
它的取值范围为“0 - 1048576”,默认为16382。
mysql对于超出max_prepared_stmt_count的prepare语句就会报Can't create more than max_prepared_stmt_count statements (current value: 16382)"错误。
对于现场而言,可以先将这个值调大。
一般而言,默认值应该是足够用的,因为现场的并发其实没有那么的大。一个可能的原因是应用端那边没有关闭prepared的语句。
直连后端MySQLDB执行如下命令
mysql> SHOW GLOBAL STATUS LIKE 'com_stmt%';
查看如下3个参数值:
Com_stmt_close prepare语句关闭的次数
Com_stmt_execute prepare语句执行的次数
Com_stmt_prepare prepare语句创建的次数
通过以下命令修改max_prepared_stmt_count的值(该值可动态修改,也可在配置文件中指定后重启服务生效)
mysql> set global max_prepared_stmt_count=100000;
Query OK, 0 rows affected (0.00 sec)
再次执行迁移脚本,成功。。。问题解决!
- max_prepared_stmt_count
- Can't create more than max_prepared_stmt_count statements
- mysql_stmt_prepare failed! error(1461)Can't create more than max_prepared_stmt_count statements (cur
- Go操作Mysql报错Can't create more than max_prepared_stmt_count statements
- 例行性工作安排(crontab)
- if __name__ == "__main__"
- 基于WEB的两种空格, 在做服务端处理时,要做特殊处理。
- JAVA面试常见的推理题
- duilib鼠标键盘消息处理
- max_prepared_stmt_count
- vector中的size和capacity
- Eclipse下Android项目包名的替换
- mapreduce编程(二)- 大象书中求每一年的最高温度
- sql 查询多项内容,要求某个字段内容不重复 及查某字段 重复的记录
- adb命令
- UIImagePickerController详解
- SQL学习网址
- 因为曾经是朋友