我在 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)
我不确定为什么转储有效但恢复失败。我正在尝试使用数据库的根凭据。
我的最终结果是我想要一份架构的副本。也许有比转储/恢复更好的方法?或者说,如何才能正确的进行恢复功能呢?