首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql转储,还原而不覆盖本地db凭据。

问Mysql转储,还原而不覆盖本地db凭据。
EN

Stack Overflow用户
提问于 2021-08-30 06:53:47
回答 1查看 119关注 0票数 0

我有一个现有的数据库,以及来自类似db的sql转储文件。是否有一种在不覆盖本地凭据的情况下将其还原到此现有db的方法?

转储是通过以下方式创建的:

代码语言:javascript
复制
mysqldump --user=${user} --password=${password} my_database > "my_db_dump_${timestamp}.sql"

此外,在还原到数据库之前,我应该清除它吗?

代码语言:javascript
复制
mysql --user=${user} --password=${password} < "my_db_dump_${timestamp}.sql"

或者我可以在现有的db上执行上面的操作吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-30 07:58:08

mysqldump创建的转储通常不会包含任何更改用户凭据的内容。mysqldump只是“生成一组SQL语句,可以执行这些语句来复制原始的数据库对象定义和表数据。”(https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html)只要您要备份的数据库不是内部的"mysql“数据库,就可以了。

您也不会使用mysqldump来恢复数据--再说一次,它只是生成一组SQL语句。因此,您可以使用mysql来执行生成的SQL文件。

至于在还原数据库之前是否应该“清除数据库”,这个问题更多地取决于数据库本身,但通常的答案是“是”。(清空表,也就是说,如果定义了表权限,则可能不希望实际销毁这些表,因为这当然是对现有本地凭据的更改。)因为mysqldump文件主要是一堆CREATE和INSERT语句,所以很可能INSERT只会创建已经存在的任何内容的重复值。

但是,如果有疑问,您可以始终打开生成的.SQL文件,查看语句的功能,这将指导您如何准备。这是一个纯文本文件,没什么特别之处。

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

https://stackoverflow.com/questions/68979998

复制
相关文章

相似问题

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