MySQL使用过程中的报错处理(持续更新)
一、数据库初始化
1、Percona的MySQL 5.6.20版本数据库初始化
初始化命令(MySQL 5.6版本不适用mysqld命令进行初始化)
./scripts/mysql_install_db --defaults-file=/opt/app/mysql/my.cnf --user=mysql --basedir=/opt/app/mysql --datadir=/opt/app/mysql/data
报错信息如下:
FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper
解决方法是安装autoconf库
执行命令:yum -y install autoconf 安装成功后继续执行初始化命令
二、MySQL使用问题处理
1、关于function的报错
#数据库中使用函数报错如下
ERROR (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable
如果我们开启了 bin-log, 我们就必须为我们的function指定一个参数
解决办法:
set @@global.log_bin_trust_function_creators = ;
2、字段长度过长导致的索引长度超出限制错误
#导入数据报错如下
ERROR () at line : Specified key was too long; max key length is bytes
#解决办法:
set @@global.innodb_large_prefix = ON
#上述问题如果还存在则调节如下参数
ERROR (HY000) at line : Index column size too large. The maximum column size is bytes.
set @@global.innodb_file_format_max = Barracuda; //默认的值为Antelope
set @@global.innodb_file_format = Barracuda ;
3、sysbench压力测试MySQL的QPS&&TPS报错
#使用sysbench压力测试调节threads参数为100时,报错如下
FATAL: `thread_init' function failed: /usr/share/sysbench/oltp_common.lua:284: SQL API error
FATAL: MySQL error: 1461 "Can't create more than max_prepared_stmt_count statements (current value: 16382)"
(last message repeated 3 times) #解决办法
在使用sysbench压力测试的时候 并发线程达到100的时候报错,max_prepared_stmt_count参数限制了同一时间在mysqld上所有会话中的prepare语句的上限,它的取值范围为“0--1048576”,默认值为16382,超出这个值的prepare语句会报1461错误
set global max_prepared_stmt_count=1048576; //不建议调节,线程数给到16或者32就可以满足压力测试提供参考依据的目的
4、数据库服务启动问题
#数据库服务start|stop|restart命令一直卡住,没有输出执行结果,通过status查看到有如下进程,尝试kill该进程失败
/bin/bash /usr/bin/mysql-systemd-start post #解决办法
通过错误日志分析找到ERROR级别的日志,分析错误点数据目录无法写入,更改数据目录的属主属组为mysql,重启服务恢复正常
5、delete使用子查询问题
delete from suser where id in (select id from user where user_id = );
You can't specify target table 'sc_sys_user_weixin' for update in FROM clause #解决办法
将SELECT出的结果再通过中间表SELECT一遍,这样就规避了错误
MySQL使用过程中的报错处理(持续更新)的更多相关文章
- PXE+kickstart网络安装CentOS7.4系统及过程中各种报错
环境:关闭防火墙.selinux 注意:虚拟机进行网络安装的话,7.3以后的系统是需要2G以上的内存 [root@kickstart ~]# cat /etc/redhat-release CentO ...
- 解决 Composer-Setup.exe 安装过程中的报错
问题 在 Windows 7 执行 Composer-Setup.exe 以安装 Composer 过程中 上图中点击[Next]时,出现如下报错信息 原因分析 由上述提示信息,可推测两方面原因: 1 ...
- kolla制作过程中:neutron-sfc-agent 报错的问题
在使用二进制方式编译镜像的时候,neutron的sfc-agent提示如下错误ERROR:kolla.image.build:neutron-sfc-agent Failed with status: ...
- Jenkins在H5编译加密过程中一个报错
################################ 背景:开发环境在编译H5的时候出现了以下报错,记录下 ################################ D:\Jenk ...
- SpringBoot入门项目CRM学习过程中的报错记录(更新ing)
在用mybatis自动生成实体类和mapper时报错..... is unrecognized or represents more than one time zone. You must conf ...
- Flume的一些报错问题解决(持续更新中)
严谨转载--否则追究法律责任 作者----王加鸿 ----------bug 1---------- ...
- .net 报错汇总——持续更新
1.未能找到 CodeDom 提供程序类型“Microsoft.CodeDom.Providers.DotNetCompilerPla PM> Install-Package Microsoft ...
- react+typescript报错集锦<持续更新>
typescript报错集锦 错误:Import sources within a group must be alphabetized.tslint(ordered-imports) 原因:impo ...
- Python的ConfigParser模块读取ini配置文件 报错(持续更新总结)
1.ConfigParser.MissingSection什么的错误巴拉巴拉一堆,其实根本上就是没有读到配置文件,然后我去检查了一遍路径,发现没有问题,我是将文件的路径作为一个字符串拼接好传到另一个专 ...
随机推荐
- JAVA基础复习与总结<九> 线程的基本概念_Thread继承创建线程
多线程 一.线程的概念 1.1 程序.进程.线程 程序:Program 是一个静态的概念 进程:Process 是一个动态的概念 进程是程序的一次动态执行过程,占用特定的地址空间. 每个进程都是独立的 ...
- Extjs小总结
1.绑定工作流: INSERT INTO `base_codeclass` VALUES (null, 'PM_CGSQ', '采购申请', null, null, null, '2018-09 ...
- python 日常错误整理
1.NameError: name 'raw_input' is not defined 问题原因:python 3 中raw_input已经被input 替代
- 单调栈&单调队列入门
单调队列是什么呢?可以直接从问题开始来展开. Poj 2823 给定一个数列,从左至右输出每个长度为m的数列段内的最小数和最大数. 数列长度:\(N <=10^6 ,m<=N\) 解法① ...
- bindservice与Activity通信
package com.example.jikangwang.myapplication; import android.content.ComponentName; import android.c ...
- springmvc是如何工作的
上图便是springmvc的工作流程,看着条条框框的,其实说的直白一点,springmvc就是负责处理用户的需求(request/url),它的负责人(核心组件)就是前端控制器(DispatcherS ...
- 通过命令行操作MYSQL的方法 以及导入大的SQL备份文件
运行 输入CMD 进入 命令行窗口 输入Mysql.exe的路径 如:c:/wamp/bin/mysql.exe 回车 这时出现 welcome to the mysql ...的提示 进入成 ...
- 3.jmeter接口测试---脚本录制
安装好jmeter后,就要进入主题了,进行接口测试,接口测试的脚本获取方式 ①手动填写 ②badboy录制后,导入jmeter使用 ③jmeter录制 不会安装的可以进入这里:https://www. ...
- Tips_钉钉免登前端实现
1.需求:开发钉钉微应用,需要实现钉钉的免登陆功能. #.其实钉钉的文档中心还是很详细的,只是刚开始接触会一头雾水,所以花费了挺多时间....... ?什么是钉钉免登功能. ?企业应用免登开发授权流程 ...
- docker 数据卷管理
在生产环境中使用docker,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这涉及到容器对数据管理的操作 容器对数据的管理主要有两种方式: 数据卷(Data Volumes): 容器内 ...