Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何读取mysql错误日志_Mysql - Fatal编程技术网

如何读取mysql错误日志

如何读取mysql错误日志,mysql,Mysql,我在mysql错误日志中不断得到以下错误 2018-05-16T05:00:09.031837Z 624962 [Warning] InnoDB: Cannot add field `jobcontrac14__REPLACEMENT_PERIOD_319` in table `tmp`.`#sql_4c85_0` because after adding it, the row size is 8134 which is greater than maximum allowed size (8

我在mysql错误日志中不断得到以下错误

2018-05-16T05:00:09.031837Z 624962 [Warning] InnoDB: Cannot add field `jobcontrac14__REPLACEMENT_PERIOD_319` in table `tmp`.`#sql_4c85_0` because after adding it, the row size is 8134 which is greater than maximum allowed size (8126) for a record on index leaf page.
下面是“创建表日志”和“替换周期”列中的数据长度

此列中的数据长度最大为8

Q) 为什么我仍然得到上面关于行大小大于允许的最大值的错误日志

Q) 从
jobcontrac14\u更换\u期间\u 319
,我可以知道它在谈论哪一行吗?所有日志中的文本
\u 14
\u 319
tmp
\sql\u 4c85\u 0
保持不变

Q) 如何知道哪个查询导致此错误

Q) 请告诉我如何阅读/理解mysql错误日志的任何文档

| JOB_CONTRACTS | CREATE TABLE `JOB_CONTRACTS` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `REPLACEMENT_PERIOD` varchar(25) DEFAULT NULL,
  `FEE_STRUCTURE` varchar(20) DEFAULT NULL,
  `POTENTIAL_BILLING` varchar(20) DEFAULT NULL,
  `INVOICE_AFTER_DAYS` varchar(10) DEFAULT NULL,
  `OFFERED_COMPENSATION` double DEFAULT NULL,
  `FLAT_FEE` varchar(10) DEFAULT NULL,
  `JOB_ID` int(11) DEFAULT NULL,
  PRIMARY KEY (`ID`),
  KEY `fk_JOB_ID_CONTRACTS_indx` (`JOB_ID`),
  CONSTRAINT `fk_JOB_ID_CONTRACT_1` FOREIGN KEY (`JOB_ID`) REFERENCES `JOBS` (`ID`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=4871 DEFAULT CHARSET=utf8 |




mysql> SELECT COUNT(*), REPLACEMENT_PERIOD, LENGTH(REPLACEMENT_PERIOD) FROM JOB_CONTRACTS GROUP BY REPLACEMENT_PERIOD;
+----------+--------------------+----------------------------+
| COUNT(*) | REPLACEMENT_PERIOD | LENGTH(REPLACEMENT_PERIOD) |
+----------+--------------------+----------------------------+
|        2 | 0                  |                          1 |
|        2 | 1 year             |                          6 |
|      249 | 120                |                          3 |
|        5 | 120 days           |                          8 |
|       13 | 15                 |                          2 |
|       87 | 180                |                          3 |
|       28 | 180 days           |                          8 |
|      127 | 30                 |                          2 |
|       24 | 30 days            |                          7 |
|      155 | 45                 |                          2 |
|      815 | 60                 |                          2 |
|       33 | 60 days            |                          7 |
|        5 | 75                 |                          2 |
|     2483 | 90                 |                          2 |
|      770 | 90 days            |                          7 |
|        2 | None               |                          4 |
|        3 | Other              |                          5 |
+----------+--------------------+----------------------------+
谢谢

请看

您需要切换到临时表的
MyISAM
引擎(在您的情况下,临时表是在
groupby
执行期间创建的) 将此行添加到my.cnf

internal_tmp_disk_storage_engine=MyISAM

请提取一个。这将是一个SQL文件,用于设置表、添加数据并进行失败的查询。