我想转储数据库,即使遵循正确的语法,也会出现以下错误。
我使用的语法:
mysqldump -uroot -p omnichannel_store_india > omnichannel_store_india.sql
引发错误:
mysqldump:无法从information_schema.COLUMN_STATISTICS WHERE SCHEMA_NAME ='omnichannel_store_india'AND TABLE_NAME ='consignment_items';中执行'SELECT COLUMN_NAME,JSON_EXTRACT(HISTOGRAM,'$。“指定的桶数”')。
information_schema中的未知表'column_statistics'(1109)
小智 11
就我而言,我们使用 mariadb-server 和 mysql-client(8.0)。列统计是在 mysql-client 8.0 上引入的。快速修复方法是删除 mysql-client 并安装 mariadb-client。
在 ubuntu 20.04 上,命令是:
apt remove mysql-client
apt install mariadb-client
Run Code Online (Sandbox Code Playgroud)
这是由于在mysqldump 8中默认启用了“ column-statistics”标志。您可以通过添加--column-statistics = 0来禁用它。
该命令将类似于:
mysqldump --column-statistics=0 --host=<server> --user <user> --password <securepass>
Run Code Online (Sandbox Code Playgroud)
要默认禁用列统计信息,可以在MySQL配置文件中添加以下内容,例如/etc/my.cnf或〜/ .my.cnf。
[mysqldump]
column-statistics=0
Run Code Online (Sandbox Code Playgroud)
这对我来说很棒。
有关“列统计”的更多详细信息
重新加载转储文件时,将ANALYZE TABLE语句添加到输出中以为转储表生成直方图统计信息。默认情况下,此选项是禁用的,因为大型表的直方图生成可能需要很长时间。参考(mysql官方文档链接)
| 归档时间: |
|
| 查看次数: |
2833 次 |
| 最近记录: |