我想转储我的数据库,即使在遵循正确的语法之后,它也会出现错误。
我使用的语法:
mysqldump -uroot -p omnichannel_store_india > omnichannel_store_india.sql
抛出错误:
mysqldump:无法从information_schema.COLUMN_STATISTICS执行'SELECT JSON_EXTRACT,JSON_EXTRACT(直方图,‘$.’),其中SCHEMA_NAME = 'omnichannel_store_india‘和TABLE_NAME =’SCHEMA_NAME_items‘;:
未知表column_statistics在information_schema (1109)中的应用
发布于 2018-09-20 11:00:01
这是由于在mysqldump 8中默认启用的标志column-statistics。您可以通过添加--column-statistics=0来禁用它。
该命令将类似于:
mysqldump --column-statistics=0 --host=<server> --user <user> --password <securepass> 若要默认禁用列统计信息,可以在MySQL配置文件(如/etc/my.cnf或~/.my.cnf )中添加以下内容。
[mysqldump]
column-statistics=0对我来说效果很好。
关于column-statistics的更多详细信息
将分析表语句添加到输出中,以便在重新加载转储文件时为转储表生成直方图统计信息。默认情况下将禁用此选项,因为大型表的直方图生成可能需要很长时间。
发布于 2021-05-17 04:16:58
在我的例子中,我们使用了和(8.0)。列统计信息是在MySQLClient8.0上介绍的。移除mysql客户端并安装的快速固定方式。
在ubuntu 20.04上,命令是:
apt remove mysql-client
apt install mariadb-client发布于 2022-05-18 15:34:28
因为我不能评论来自用户:Amitesh Bharti的实际答案,所以我添加了一个实际答案的细微变化。在我的例子中,我必须在/etc/my.cnf.d/client.cnf中更改它,并且我必须将它保留在[client]部分中,这样就不会添加一个[mysqldump]部分。
所以对我来说,这是/etc/my.cnf.d/client.cnf的工作
[client]
column-statistics=0https://stackoverflow.com/questions/52423595
复制相似问题