【问题标题】:Error when adding a column in database在数据库中添加列时出错
【发布时间】:2016-10-03 13:46:01
【问题描述】:

我有一张带有 longblob 的桌子,我在里面存放文件。由于我的主机将 MySql 更改为 MariaDB 版本 10.0.27,我在将数据加载到大于 5 MB 的 blob 时遇到了问题。然后我想在数据库中添加一个新列,通过将更大的文件存储到文件系统中来以编程方式处理这个问题。但是在添加新列时出现以下错误:

错误 1030:从存储引擎 InnoDB 得到错误 66“对象是远程的” SQL 代码: 更改表asbest.dokumente 添加列extfile INT(11) NOT NULL DEFAULT 0 COMMENT 'Die Dateiist extern gespeichert (uber 5 MB) im Verteichnis /doks' AFTER size

我在Stack Overflow 上发现,MySql 和 MariaDB 中的一个错误会导致一些与大数据 blob 相关的问题。

此行为与此有关吗?是否可以通过将存储引擎改为梭子鱼来解决?

【问题讨论】:

  • max_allowed_packet的值是多少?
  • 请告诉我们SHOW CREATE TABLE dokumente

标签: mysql blob mariadb


【解决方案1】:

我知道这是一个较旧的线程,但我没有看到它得到了回答。当我遇到这个问题时,我的操作系统是 CentOS 7。根据在 https://dev.mysql.com/doc/refman/5.7/en/server-error-reference.html 找到的 mysql 文档

错误号:1030;符号:ER_GET_ERRNO; SQL状态:HY000 消息:从存储引擎得到错误 %d 检查 %d 值以了解操作系统错误的含义。例如,28 表示您的磁盘空间已用完

这里的关键词是,“操作系统错误”

对于我的情况,在“my.cnf”文件中增加 innodb_buffer_pool_size(高于 300M 最高 1G)并调整 innodb_log_file_size(log_file_size 为缓冲池大小的 25%)解决了我的问题。

【讨论】:

    猜你喜欢
    • 2015-01-22
    • 1970-01-01
    • 2018-03-07
    • 2015-07-10
    • 1970-01-01
    • 1970-01-01
    • 2017-09-08
    • 1970-01-01
    • 2018-02-26
    相关资源
    最近更新 更多