【问题标题】:mysqldump: Error 1317: Query execution was interrupted while running database Backupmysqldump:错误1317:运行数据库备份时查询执行被中断
【发布时间】:2012-12-24 11:54:01
【问题描述】:

在服务器 (CloudFoundry) 中运行数据库备份运行命令时,出现此错误:

mysqldump: Error 1317: Query execution was interrupted when dumping table `attac
hment` at row: 26

为什么会出现这样的错误?是因为mysql杀死了一些需要太多时间的进程..?还是因为其他原因?

【问题讨论】:

  • 是不是表中有很多数据? CF 确实杀死查询进程花费了超过 3 秒。您可能希望为隧道命令选择“none”并启动一个单独的 mysqldump 并使用一些调整选项来查看它是否可以通过。

标签: mysql mysqldump cloud-foundry


【解决方案1】:

CF 确实杀死查询进程花费了 3 秒以上。请尝试以下步骤,看看是否可以解决:

1) vmc 隧道服务名称

2) 为隧道命令选择“无”

3) 启动一个单独的 mysqldump 进程,其中包含一些调整选项,例如 --where

看能不能通过。

【讨论】:

    【解决方案2】:

    我正在使用约 140GB 的数据库,并且遇到了同样的错误。

    $ mysql --version
    mysql  Ver 14.14 Distrib 5.6.51, for Linux (x86_64) using  EditLine wrapper
    

    就我而言,我想将数据库移动到另一台服务器,因此我首先在 /etc/my.cnf 中启用了这些设置以设置复制过程。

    log-bin=mysql-bin
    server-id=1
    

    我重新启动了服务器,以便主服务器开始记录以进行复制。
    然后我添加了这些设置以防止Error 1317 超时。特别是对于大型表查询,读/写超时之前太低了。

    net_read_timeout=9999
    net_write_timeout=9999
    net_retry_count=999
    

    然后我使用此命令获取转储,利用“时间点”。
    由于“服务器 2”尚未启动,它将转储所有内容。
    在我为服务器 2 打开复制后,它将提取自此转储以来的所有新记录。
    如果不进行复制,可以省略 --master-data=2

    sudo mysqldump --compress --max-allowed-packet=1G --master-data=2 --single-transaction --databases ${dbname} -r ${backupname}
    完成大约需要 4 小时。

    这是我完整的/etc/my.cnf 供参考 -

    $ cat /etc/my.cnf
    [mysqld]
    innodb_file_per_table=1
    default-storage-engine=MyISAM
    performance-schema=0
    max_allowed_packet=268435456
    open_files_limit=10000
    innodb_buffer_pool_size=1G
    bulk_insert_buffer_size=20971520
    query_cache_type=1
    query_cache_size=16777216
    log-bin=mysql-bin
    server-id=1
    net_read_timeout=9999
    net_write_timeout=9999
    net_retry_count=999
    

    【讨论】:

      猜你喜欢
      • 2013-02-05
      • 1970-01-01
      • 2015-08-11
      • 2017-11-30
      • 1970-01-01
      • 2013-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多