如何在 DBeaver 中复制架构/数据库?

问题描述 投票:0回答:1

我在 Mac (macOS Monterey 12.6.1) 上使用 DBeaver 22.2.4 访问 AWS Aurora MySQL 5.7 数据库。以下过程中,我使用的是MySQL 5.7.39本地客户端(

/usr/local/Cellar/[email protected]/5.7.39
)。

我想在数据库中复制模式,并正在尝试 DBeaver 中的转储数据库/恢复数据库功能。

我可以使用转储在我的 Mac 上创建一个文件 (dump-confluence_qa_713-202212141823.sql)。然后我需要创建一个新的架构来恢复到:

CREATE DATABASE confluence_qa_719_dbeaver CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
GRANT ALL PRIVILEGES ON confluence_qa_719_dbeaver.* TO 'confluenceuser'@'%' IDENTIFIED BY 'password';

这也很好用。

尝试恢复数据库时,我收到以下警告:

您即将从以下位置恢复数据库 confluence_qa_719_dbeaver /用户/牧羊人/dump-confluence_qa_713-202212141823.sql

它可能会损坏您的数据库。你确定吗?

也许这是因为我要恢复到与原始目标不同的目标?我单击“是”并收到“任务执行失败”错误,并显示以下信息

--------------

SET @@SESSION.SQL_LOG_BIN= 0

--------------

Task 'MySQL restore' finished at Thu Dec 15 10:11:43 PST 2022
2022-12-15 10:11:43.138 - IO error: Process failed (exit code = 1). See error log.
2022-12-15 10:11:43.139 - java.io.IOException: Process failed (exit code = 1). See error log.
    at org.jkiss.dbeaver.tasks.nativetool.AbstractNativeToolHandler.validateErrorCode(AbstractNativeToolHandler.java:242)
    at org.jkiss.dbeaver.tasks.nativetool.AbstractNativeToolHandler.executeProcess(AbstractNativeToolHandler.java:223)
    at org.jkiss.dbeaver.tasks.nativetool.AbstractNativeToolHandler.doExecute(AbstractNativeToolHandler.java:262)
    at org.jkiss.dbeaver.ext.mysql.tasks.MySQLNativeToolHandler.doExecute(MySQLNativeToolHandler.java:47)
    at org.jkiss.dbeaver.tasks.nativetool.AbstractNativeToolHandler.lambda$0(AbstractNativeToolHandler.java:83)
    at org.jkiss.dbeaver.runtime.RunnableContextDelegate.lambda$0(RunnableContextDelegate.java:39)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)

我不确定为什么转储有效但恢复失败。我正在尝试使用数据库的根凭据。

我的最终结果是我想要一份架构的副本。也许有比转储/恢复更好的方法?或者说,如何才能正确的进行恢复功能呢?

mysql restore dbeaver
1个回答
0
投票

使用数据迁移功能可能是实现此目标的一种方法。

从高层次上来说,这是一个三步过程:

  • 第1步:定义数据源
  • 第2步:定义数据传输目标类型
  • 第3步:表映射
© www.soinside.com 2019 - 2024. All rights reserved.