备份和还原数据库时问题

        最近在数据库做备份和还原脚本的时候,发现,某些数据库由于'_'的原因导致完整备份出来的文件里的逻辑名是不一样的, 进一步查找发现,其实在创建的数据库的时候没有指定逻辑名的话,系统会生成随机逻辑名,这对批量做脚本和数据库管理带来很大的不方便,所以从create database 开始 ,使用“[  ]”框住名字,然后写上逻辑名,因为你不知道什么时候自己会用到,或者什么时候别人会用到。

现在就我自己的想法,写一点,我本来的法是遍历非系统数据库,然后备份,然后根据备份还原。由于逻辑名的问题,在迁移数据库文件的时候处理就出问题了,restore filelistonly 查看发现随机名,于是纠结了……查找资料相关有 modify file (name = old,newname = new),但是这个东西的前提是知道old,而这个old的又是自己从restore filelistonly里看出的,然后想获取列表的选项,但是这个貌似不可能……因为显示的列表只能给我们看,不能给我们操作…………纠结啊……最后想了一下,以后如果创建者没有指定逻辑名,那么每次都把带”_“的都修改文件一下,前提是还要先备份一次- -,真他妈啊………………我想找个方法处理从数据库中获取逻辑名然后修改 ~。~

好告一段落……大哭

### Navicat 数据库备份还原指南 Navicat 是一款功能强大的数据库管理工具,支持多种数据库系统的管理操作。以下是关于如何使用 Navicat 进行数据库备份还原的具体方法。 #### 一、Navicat 数据库备份流程 在 Navicat 中执行数据库备份的操作相对简单直观: 1. **打开目标连接** 启动 Navicat 并连接到需要备份的目标数据库实例。 2. **选择数据库对象** 在左侧导航栏中找到并展开对应的数据库节点,右键点击需要备份数据库名称,在弹出菜单中选择 `Dump SQL File...` 或者 `Backup to Binary...`[^2]。 3. **配置备份选项** - 如果选择了 `Dump SQL File...`,可以设置导出的内容范围(如表结构、数据或者两者皆有),以及存储路径。 - 若选用了二进制方式 (`Backup to Binary`),则会保存为一种更紧凑的形式,适合大容量的数据迁移场景。 4. **启动备份过程** 完成参数设定之后,单击确认按钮即可开始实际的备份工作。整个过程中可以通过进度条来监控状态直至完成[^2]。 #### 二、Navicat 数据库还原流程 当需要恢复之前所做的备份,按照如下步骤来进行: 1. **加载备份文件** 类似于备份操作的第一步,先建立好相应的服务器链接;接着通过界面中的导入向导功能定位至先前生成的那个 `.sql` 文件或者是其他类型的存档包位置处[^2]。 2. **指定目标环境** 明确指出要把这些资料重新载入哪个具体的 schema 下面去——这一步尤其重要因为有候原项目名可能已经存在所以得另行命名以免覆盖掉现有内容。 3. **执行脚本/应用更改** 对于纯文本形式的 sql 脚本来说只需依次解析每一句命令逐条提交给引擎层处理就可以了而如果是压缩后的镜像版本的话那么就涉及到解码还原等一系列额外动作最后达到完全重现原始状况的目的[^2]。 ```bash # 示例:如果采用的是SQL文件,则可以直接运行该文件内的语句集 mysql -u username -p database_name < backup.sql ``` 以上便是利用 Navicat 实现高效便捷的数据保护措施及其后续回滚机制的核心要点概述[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值