当前位置: 首页 > 知识库问答 >
问题:

mysqldump:无法执行。information_schema中的未知表' column_statistics '

百里诚
2023-03-14

我想转储我的数据库,即使在遵循正确的语法之后,它也会提示我以下错误。

我使用的语法:

mysqldump -uroot -p omnichannel_store_india

抛出错误:

mysqldump:无法执行 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$.”指定的存储桶数“') 从 information_schema。COLUMN_STATISTICS其中SCHEMA_NAME = 'omnichannel_store_india' 和 TABLE_NAME = 'consignment_items';':

information_schema中的未知表“column _ statistics ”( 1109)


共有3个答案

骆利
2023-03-14

由于我无法评论用户:Amitesh Bharti 的实际答案,因此我添加了实际答案的细微变化。就我而言,我不得不在 /etc/my.cnf.d/client.cnf 中更改它,并且我不得不将其保留在 [client] 部分,因此不添加 [mysqldump] 部分。

所以对我来说,这是工作的< code >/etc/my . cn f . d/client . cn f

[client]
column-statistics=0
宦树
2023-03-14

在我的例子中,我们使用的是Mariadb-server和mysql-客户端(8.0)。列统计信息是在mysql-客户端8.0上引入的。删除mysql-客户端并安装Mariadb-客户端的快速修复方式。

在ubuntu 20.04上,命令是:

apt remove mysql-client
apt install mariadb-client
微生令雪
2023-03-14
匿名用户

这是由于mysqldump 8中默认启用了一个标志< code>column-statistics。您可以通过添加< code >-column-statistics = 0 来禁用它。

该命令将类似于:

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

要在默认情况下禁用列统计,可以在MySQL配置文件中添加以下内容,例如/etc/my。cnf~/.my.cnf

[mysqldump]
column-statistics=0

这对我来说非常有效。

有关列统计信息的更多详细信息:

将 ANALYZE TABLE 语句添加到输出中,以便在重新加载转储文件时为转储表生成直方图统计信息。默认情况下禁用此选项,因为为大型表生成直方图可能需要很长时间。

参考:MySQL官方文档链接

 类似资料:
  • 23.1.1. INFORMATION_SCHEMA SCHEMATA表 23.1.2. INFORMATION_SCHEMA TABLES表 23.1.3. INFORMATION_SCHEMA COLUMNS表 23.1.4. INFORMATION_SCHEMA STATISTICS表 23.1.5. INFORMATION_SCHEMA USER_PRIVILEGES表 23.1.6. I

  • 问题内容: 我在Windows上运行MySQL 5.5,尝试进行mysqldump: 但是得到错误: mysqldump:未知选项’–no beep’ 这是一个非常基本的命令,并且可以在其他两个开发箱上使用,所以不确定是什么原因造成的? 问题答案: 在MySQL my.ini的无提示行中注释了同一问题,从而解决了该问题。

  • 问题内容: 在PostgreSQL的information_schema中列出所有表的最佳方法是什么? 需要说明的是:我正在使用一个空的数据库(我没有添加任何自己的表),但是我想查看information_schema结构中的每个表。 问题答案: 您应该能够运行以获取由Postgres管理的特定数据库的每个表的列表。 您还可以添加一个以仅查看信息模式中的表。

  • 我现在正在尝试复制一个名为的数据库。在MySQL命令行客户机中,我正在执行我得到错误消息: 说吧,告诉我我很蠢。我只是需要一些帮助,拜托。

  • 很抱歉,我可能会重复这个问题(正如我在许多其他SO网站上看到的那样),但是,我不确定在这一点上还有什么可以尝试的。 我正在尝试设置一个简单的AspectJ Spring应用程序。一旦我有了一个工作示例,我想创建一个公共库,可以通过注释在我的团队中使用,所以我对使用AspectJ非常感兴趣,因为我认为它可以简化我尝试做的很多事情。 下面是我的代码: AspectDemoApplication。课堂—

  • 问题内容: 我只是不明白一件事。当我输入时: 我得到: 但是选择似乎根本不起作用: 那怎么可能?我的意思是,表明存在一个名为“ db”的表… 其次,当我键入:它给我: 我能够做到: 我得到了一些结果。这是为什么?为什么我只能选择大写字母呢?而且,如何从仅以大写形式给出的表中进行选择?干杯 如果很重要:我以root用户身份登录到我的数据库。 问题答案: “ information_schema”仅具