来自存储引擎 InnoDB 的错误 66 "Object is remote"
Got error 66 "Object is remote" from storage engine InnoDB
我是运行ALTER TABLE article_attachment CHANGE content content LONGBLOB NULL
关于这个 table:
CREATE TABLE `article_attachment` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`article_id` bigint(20) NOT NULL,
`filename` varchar(250) DEFAULT NULL,
`content_size` varchar(30) DEFAULT NULL,
`content_type` text,
`content_id` varchar(250) DEFAULT NULL,
`content_alternative` varchar(50) DEFAULT NULL,
`content` longblob NOT NULL,
`create_time` datetime NOT NULL,
`create_by` int(11) NOT NULL,
`change_time` datetime NOT NULL,
`change_by` int(11) NOT NULL,
`disposition` varchar(15) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `article_attachment_article_id` (`article_id`),
KEY `FK_article_attachment_create_by_id` (`create_by`),
KEY `FK_article_attachment_change_by_id` (`change_by`)
) ENGINE=InnoDB AUTO_INCREMENT=34672 DEFAULT CHARSET=utf8
并得到错误
Got error 66 "Object is remote" from storage engine InnoDB
Google returns 几乎与错误无关。
我确实将 max_allowed_packet
增加到 999999488,但这没有帮助。
更新
我试图更改同一个 table 中的另一列,它告诉我 The size of BLOB/TEXT data inserted in one transaction is greater than 10% of redo log size. Increase the redo log size using innodb_log_file_size.
也许这与...
好的,我按照https://dba.stackexchange.com/a/1265/42097在my.cnf mysqld部分增加了innodb_log_file_size
。
Mysql table 的分析告诉我 article_attachment.content max_length 是 22942326。所以我将 innodb_log_file_size 设置为 300000000。
现在 ALTER TABLE 起作用了。
我是运行ALTER TABLE article_attachment CHANGE content content LONGBLOB NULL
关于这个 table:
CREATE TABLE `article_attachment` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`article_id` bigint(20) NOT NULL,
`filename` varchar(250) DEFAULT NULL,
`content_size` varchar(30) DEFAULT NULL,
`content_type` text,
`content_id` varchar(250) DEFAULT NULL,
`content_alternative` varchar(50) DEFAULT NULL,
`content` longblob NOT NULL,
`create_time` datetime NOT NULL,
`create_by` int(11) NOT NULL,
`change_time` datetime NOT NULL,
`change_by` int(11) NOT NULL,
`disposition` varchar(15) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `article_attachment_article_id` (`article_id`),
KEY `FK_article_attachment_create_by_id` (`create_by`),
KEY `FK_article_attachment_change_by_id` (`change_by`)
) ENGINE=InnoDB AUTO_INCREMENT=34672 DEFAULT CHARSET=utf8
并得到错误
Got error 66 "Object is remote" from storage engine InnoDB
Google returns 几乎与错误无关。
我确实将 max_allowed_packet
增加到 999999488,但这没有帮助。
更新
我试图更改同一个 table 中的另一列,它告诉我 The size of BLOB/TEXT data inserted in one transaction is greater than 10% of redo log size. Increase the redo log size using innodb_log_file_size.
也许这与...
好的,我按照https://dba.stackexchange.com/a/1265/42097在my.cnf mysqld部分增加了innodb_log_file_size
。
Mysql table 的分析告诉我 article_attachment.content max_length 是 22942326。所以我将 innodb_log_file_size 设置为 300000000。
现在 ALTER TABLE 起作用了。