无法从mysql工作台导出我的数据库

watbbzwu  于 2021-06-21  发布在  Mysql
关注(0)|答案(13)|浏览(404)

我正试图从mysql workbench导出我的数据库,但在导出过程中遇到了以下问题:
运行:mysqldump.exe--defaults file=“c:\users\user\appdata\local\temp\tmp2h91wa.cnf”--user=root--host=localhost--protocol=tcp--port=3306--default character set=utf8--skip triggers“mydb”mysqldump:cannot execute'选择列名称,
json_extract(直方图,“$”指定的桶数“')
在information_schema.column_statistics中,schema_name='mydb'和table_name='courses';':信息\架构中的未知表“列\统计信息”(1109)
操作失败,exitcode 2 20:55:09 c:\users\user\documents\dumps\mydb.sql的导出已完成,出现1个错误
你知道会出什么问题吗?谢谢

uelo1irk

uelo1irk1#

C:\Program Files\MySQL\MySQL Workbench 8.0 CE\modules 打开这个文件 wb_admin_export.py “并取消注解” --column-statistics=0 “然后重新启动工作台

mwngjboj

mwngjboj2#

在mysql workbench版本8.0.13中,请执行以下步骤:
转到管理/数据导出
在“要导出的表”列表中选择要导出的架构
单击“高级选项…”按钮(右上角)
搜索“其他/列统计信息”选项
将该值设置为0
单击“返回”按钮(右上角)
现在应该可以了。不幸的是,每次启动mysql工作台时都必须这样做。

jum4pzuy

jum4pzuy3#

bug仍在workbench 8.0.16中。
修正:
您可以编辑工作台程序目录中模块下的wb\u admin\u export.py。搜索“skip\u column\u statistics=true”(您将找到一个条件,不用担心),注解该行并添加一行“skip\u column\u statistics=true”(不带条件)。
现在将始终添加所需的参数。

wljmcqd8

wljmcqd84#

您可以使用原生mysql工作台“迁移向导”来迁移数据,而不会出现错误。它可以在“数据库->迁移向导”菜单中找到,它可以“在线”传输数据,但我没有找到用它创建转储文件的选项。这是一个非常好的迁移解决方案

ymdaylpp

ymdaylpp5#

我也有同样的问题,我这样解决:
编辑工作台首选项:编辑->首选项->管理
在属性“path to mysqldump tool”中放置mysqldump.exe的路径,它通常位于“c:\program files\mysql\mysql server 5.7\bin\mysqldump.exe”中

dluptydi

dluptydi6#

我在医院发现这种情况 wb_admin_export.py 而不是评论 --column-statistics=0 . 您可以删除 else False 条件,或将其更改为 else True .

skip_column_statistics = True if get_mysqldump_version() > Version(8,
0, 2) and self.owner.ctrl_be.target_version < Version(8, 0, 0) else
True
vshtjzan

vshtjzan7#

我也有同样的问题。。我可以通过在mysql工作台数据导出的高级选项中禁用列统计信息来解决这个问题。
1:单击高级选项:

2:在列statistics的另一部分中,删除true并将其设置为0以禁用它。

现在返回并导出数据。谢谢您

zu0ti5jz

zu0ti5jz8#

从mysql workbench版本8.0.14,您没有禁用列统计的选项mysql workbench版本8.0.13
但您可以通过启用“删除主控形状”来执行此操作-logs:mysql-workbench version 8.0.22
--delete master logs与“reset master”sql命令具有相同的效果
reset master删除索引文件中列出的所有二进制日志文件,将二进制日志索引文件重置为空,并创建新的二进制日志文件。此语句仅在第一次启动主机时使用。

laximzn5

laximzn59#

我5分钟前也有同样的问题。
我通过加入我的 mysqldump 命令 --column-statistics=0 . 做了就应该成功。
就我而言,这是一项艰巨的任务,但你应该明白这一点。

sirbozc5

sirbozc510#

总结一下@justinlaureno和@mohd.shaizad在mysql workbench 8.0.18上的有用评论:
导航到 C:\Program Files\MySQL\MySQL Workbench 8.0 CE\modules 编辑文件 wb_admin_export.py (此操作需要管理员权限)
修改行:

skip_column_statistics = True if get_mysqldump_version() > Version(8, 0, 2) and self.owner.ctrl_be.target_version < Version(8, 0, 0) else False

收件人:

skip_column_statistics = True

不要添加内联注解,否则它将不起作用!

skip_column_statistics = True # This won't work

重启mysql工作台
执行导出

ffvjumwh

ffvjumwh11#

在版本8中,我修改了“wb\u admin\u export.py”并重新启动workbench。对我有用

def start(self):
.
.
.
    title = "Dumping " + schema
    title += " (%s)" % table
    # description, object_count, pipe_factory, extra_args, objects
    args = []
    args.append('--column-statistics=0')
class ViewsRoutinesEventsDumpData(DumpThread.TaskData):
    def __init__(self, schema, views, args, make_pipe):
        title = "Dumping " + schema + " views and/or routines and/or events"
        if not views:
           extra_args = ["--no-create-info"]
        else:
            extra_args = []
        DumpThread.TaskData.__init__(self,title, len(views), ["--skip-triggers", " --no-data" ," --no-create-db", "--column-statistics=0"] + extra_args + args, [schema] + views, None, make_pipe)```
epfja78i

epfja78i12#

这是由于mysqldump 8中默认为“enabled”的标志造成的。
这可以通过添加--column statistics=0来禁用。
语法:

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

有关更多信息,请转到链接
要在默认情况下禁用列统计信息,可以添加

[mysqldump]
column-statistics=0

到mysql配置文件,例如/etc/my.cnf或~/.my.cnf。

5q4ezhmt

5q4ezhmt13#

也遇到了这个问题。决定如下:在工作台菜单中,转到:
编辑-首选项-管理
在“mysqldump工具路径”字段中,指定mysqldump.exe的路径,在我的示例“c:\program files\mysql\mysql server 5.7\bin\mysqldump.exe”中,单击“确定”。
之后,错误不再出现。

相关问题