AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 912162
Accepted
manifestor
manifestor
Asked: 2018-05-15 08:40:20 +0800 CST2018-05-15 08:40:20 +0800 CST 2018-05-15 08:40:20 +0800 CST

mysqldump 抛出:information_schema 中的未知表 'COLUMN_STATISTICS' (1109)

  • 772

每次我尝试制作时mysqldump都会出现以下错误:

$> mysqldump --single-transaction --host host -u user -p db > db.sql
mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM,
'$."number-of-buckets-specified"') FROM
information_schema.COLUMN_STATISTICS WHERE SCHEMA_NAME = 'db' AND
TABLE_NAME = 'Absence';':
Unknown table 'COLUMN_STATISTICS' in information_schema (1109)

结果是一个不完整的转储。奇怪的是,从另一台主机执行的相同命令可以正常工作而不会引发任何错误。有人遇到过同样的问题吗?

我正在使用 mysql-client8.0并尝试访问 mysql5-7服务器 - 也许这就是原因?

mysql
  • 19 19 个回答
  • 286697 Views

19 个回答

  • Voted
  1. Best Answer
    cristhiank
    2018-05-18T05:10:11+08:002018-05-18T05:10:11+08:00

    这是由于在mysqldump8中默认启用了一个新标志。您可以通过添加来禁用它--column-statistics=0。该命令将类似于:

    mysqldump --column-statistics=0 --host=<server> --user=<user> --password=<password> 
    

    检查此链接以获取更多信息。要默认禁用列统计,您可以添加

    [mysqldump]
    column-statistics=0
    

    到 MySQL 配置文件,转到/etc/my.cnf、~/.my.cnf或直接到/etc/mysql/mysql.cnf.

    • 723
  2. atjoedonahue
    2018-10-26T14:57:05+08:002018-10-26T14:57:05+08:00

    对于使用 MySQL Workbench 的用户,Data Export 屏幕上有一个“Advanced Options”按钮。可以通过设置为 0 禁用“使用列统计信息”选项。

    我尚未确认,但建议以下信息也是正确的:在版本 8.0.14 中它丢失了。在版本 8.0.16 中,它默认执行此操作。

    • 40
  3. DodiX
    2018-05-16T07:32:04+08:002018-05-16T07:32:04+08:00

    我花了一整天的时间寻找解决方案,并在这里注册只是为了分享我的。

    是的,这个错误是由于版本差异造成的。

    只需从此处下载MySQL 5.7 ZIP 存档: https ://dev.mysql.com/downloads/mysql/并解压缩,然后从那里使用 mysqldump.exe 文件。

    如果您使用的是 MySQL Workbench,则需要通过转到Edit -> Preferences -> Administration(从左侧窗格)设置下载的 mysqldump 工具的路径。

    希望这可以帮助。

    • 29
  4. Juanan
    2020-05-04T07:58:53+08:002020-05-04T07:58:53+08:00

    我知道我参加聚会迟到了,但这让我发疯了。如果您想使用最新的 MySQL Workbench(尝试使用最新的 MySQL Workbench 8.0.20),您可以修补此文件:

    plugins/wb_admin_export_options.py
    

    在 macOS 中: ( /Applications/MySQLWorkbench.app/Contents/Resources/plugins/wb_admin_export_options.py) 替换此行:

      "column-statistics":["Writing ANALYZE TABLE statements to generate statistics histograms.", "FALSE", "BOOL", ("8.0.2", None)]
    

    有了这个:

    "column-statistics":["Writing ANALYZE TABLE statements to generate statistics histograms (set 0 to disable).", "1", "INT", (None, None)]
    

    然后删除 .pyo:

    rm /Applications/MySQLWorkbench.app/Contents/Resources/plugins/wb_admin_export_options.pyo

    最后,再次重新加载Workbench 并在 Data Export 页面中,单击“Advanced options...”,您将再次看到 column-statistics 选项(设置 0 为禁用并单击 Return 按钮)

    在此处输入图像描述

    注意:您可以从此 Gist 下载修补文件。

    • 16
  5. anson
    2018-12-13T23:10:16+08:002018-12-13T23:10:16+08:00

    最简单的工作

    使用Mysql Workbench 8.0时

    • 打开“数据导出”选项卡
    • 单击高级选项 在此处输入图像描述
    • 在“其他”标题下,将列统计信息设置为 0 在此处输入图像描述
    • 再次导出在此处输入图像描述

    祝你好运!

    • 7
  6. pierlo
    2018-07-04T21:25:03+08:002018-07-04T21:25:03+08:00

    为了使这个答案更容易,您可以 rename mysqldump,在其位置创建一个 shell 脚本并mysqldump使用--column-statistics=0参数调用重命名。例如:

    重命名 mysqldump:

    mv /usr/local/bin/mysqldump /usr/local/bin/_mysqldump
    

    将以下 shell 脚本保存在其位置:

    #!/bin/sh
    
    _mysqldump --column-statistics=0 $@
    
    • 6
  7. Paul Collister
    2021-02-02T12:40:59+08:002021-02-02T12:40:59+08:00

    我在 OSX(11.1)上使用最新的 mysql 工作台(8.0.23)和 mariadb 时遇到了这个问题。我通过选择 mariadb 包中的 mysqldump 版本解决了这个问题。

    /usr/local/mariadb/mariadb-10.1.37-osx10.13-x86_64/bin/mysqldump

    • 4
  8. Ronald
    2020-08-05T03:40:16+08:002020-08-05T03:40:16+08:00

    除了 pierlo https://serverfault.com/a/919403/586669

    在 MySQL Workbench 中有一个选项可以设置 mysqldump 可执行文件的路径。(编辑 - 首选项 - 管理)

    因此,您可以创建一个 .cmd(在 Windows 上)或一个 .sh 文件(在 Linux 或 mac 上),如下所示:

    mysqldump_nostatistics.cmd:

     @ECHO OFF
     "C:\Program Files\MySQL\MySQL Workbench 8.0 CE\mysqldump.exe" %*  --column-statistics=0
    

    mysqldump_nostatistics.sh:

    #!/bin/sh
    
    _mysqldump $@ --column-statistics=0
    

    注意参数的顺序(它与 pierlo 的不同):执行的转储命令包括(或可能包括)一个--defaults-file=选项,这必须是第一个参数。

    还需要关闭回显,否则工作台无法正确解析命令输出。

    • 3
  9. Dean Or
    2019-01-24T15:04:57+08:002019-01-24T15:04:57+08:00

    我使用 XAMPP,而 MySQL Workbench 确实会警告版本不匹配。我将 MySQL Workbench 设置为指向 XAMPP 的 mysql.exe 和 mysqldump.exe。

    转到编辑 -> 首选项 -> 管理并为每个设置路径。

    这至少适用于版本 8.0.14。因此,对于其他人,您可能希望避免使用 mysql 和 mysqldump 的捆绑版本。

    • 2
  10. Edimar Barbosa
    2019-02-26T12:39:18+08:002019-02-26T12:39:18+08:00

    对于 macOS,您需要旧版本 (8.0.13) 才能看到“列统计信息”,因为我测试了 8.0.14 和 8.0.15 版本,并且都没有显示“列统计信息”。

    因此,要调整“列统计”,请使用版本 8.0.13 https://downloads.mysql.com/archives/get/file/mysql-workbench-community-8.0.13-macos-x86_64.dmg

    • 2

相关问题

  • 开源与专有关系 db mgt 系统的优缺点是什么?

  • 在 solaris 10 上为 mysql 设置 max_allowed_pa​​cket

  • 如何移动 MySQL 的数据目录?

  • 通过 VPN 连接什么是远程服务器 IP?

  • mysql崩溃

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve