首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用mysqldump恢复一个mysql数据库

问如何用mysqldump恢复一个mysql数据库
EN

Database Administration用户
提问于 2021-08-25 20:09:20
回答 1查看 437关注 0票数 1

为了进行备份,我运行:

代码语言:javascript
复制
mysqldump --host=localhost --user=root --password=whatever --single-transaction --routines --triggers --log-error=error.txt mydatabase > out.sql

是否可以用mysqldump反向(还原out.sql)进行同样的操作?

如果不可能,在mysqldump导出数据库out.sql的相同条件下,最推荐的导入数据库的命令是什么?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2021-08-25 20:53:25

您不使用米斯德重新加载数据库转储。使用mysql客户端重新加载。

例如,请看我的旧帖子是否有可能转储数据库的子集以复制查询?。我执行3个mysqldumps,然后使用mysql客户端重新加载转储。

对于这个问题中的mysqldump,它将是(简化的)

代码语言:javascript
复制
mysql -u user -p < out.sql

如果转储文件有多个数据库,那么它将是

代码语言:javascript
复制
mysql -u user -p --one-database mydatabase < out.sql

有关更多信息,请参见mysql选项-一-数据库。

更新2021-08-21 17:33美国东部时间

你的命令

代码语言:javascript
复制
mysqldump --host=localhost --user=root --password=whatever --single-transaction --routines --triggers --log-error=error.txt mydatabase > out.sql

不设置目标数据库。你必须告诉mysql客户端。

代码语言:javascript
复制
mysql --host=anotherhost --user=root --password=whatever -Dtargetdatabase < out.sql

如果要将目标数据库放入转储中,请执行以下操作

代码语言:javascript
复制
mysqldump --host=localhost --user=root --password=whatever --single-transaction --routines --triggers --log-error=error.txt --databases mydatabase > out.sql

然后,mysql客户端将被告知目标是什么。

代码语言:javascript
复制
mysql --host=anotherhost --user=root --password=whatever < out.sql

因为这条线

代码语言:javascript
复制
USE mydatabase;

将出现在第一个表生成和加载之前。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/298559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档