在 macOS 系统上使用 Navicat Premium 对服务器上的数据库进行本地备份,以及数据库丢失后的恢复。
引言
对于数据库备份的重要性,无需多言,本文是一篇关于在 macOS 系统上使用 Navicat Premium 的教程。
教程中使用的环境:
- 操作系统:macOS Catalina 10.15.1
- Navicat Premium:15.0.3
- 服务器:阿里云/centOS
- 数据库:5.5.60-MariaDB
Navicat Premium
Navicat Premium 是一套数据库开发工具,能够让你从单一应用程序中同时连接 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL 和 SQLite 数据库。它与 Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud、MongoDB Atlas、阿里云、腾讯云和华为云等云数据库兼容。你可以快速轻松地创建、管理和维护数据库。对于操作系统来说, Winodws、macOS 以及 Linux 都可以无缝兼容。
本文主要介绍如何利用 Navicat Premium 中自带的备份工具进行备份和恢复。
数据库连接
首先我们需要建立 Navicat Premium 与服务器数据库的连接,以此来进行服务器数据库的备份。这里以阿里云为例,如果你已经设置过服务器的安全组规则,并且开放了数据库的访问权限,那么可以直接跳过步骤一和步骤二。
步骤一、创建安全组规则
1.访问阿里云主页 -> 进入控制台 -> 选中云服务器 ECS
2.在网络与安全分类中选中安全组
3.点击配置规则
4.选择添加安全组规则,照搬图上的配置即可
步骤二、开放数据库访问权限
在数据库中执行如下命令
1 | $ GRANT ALL PRIVILEGES ON *.* TO 'root'@'xxx.xxx.xxx.xxx' IDENTIFIED BY 'xxxxxx' WITH grant option; |
ALL PRIVILEGES:表示开放全部数据库权限,当然那你也可以只提供部分权限
**.** :表示开放所有权限范围,这里的范围指的是数据库和表
root :表示该数据库的用户名
xxx.xxx.xxx.xxx :表示其公有IP地址
BY ‘xxxxxx’ WITH:表示数据库密码
1 | $ flush privileges; |
步骤三、通过 SSH 在本地连接到云服务器上的数据库
打开 Navicat Premium,点击 Connection 进行数据库连接,会出现一个下拉菜单,需要你选择所使用的的数据库类型。本文使用的是 MariaDB,它是 MySQL 的一个开源版本,所以直接选择 MySQL 即可。
设置通用配置,填写连接名称、数据库用户名和密码,其他保持默认不需要修改
设置 SSH 配置,填写服务器公有 IP 地址、用户名和密码,完成后点击保存,左侧的连接列表中会出现绿色图标的连接名称,连接名称就是你在通用配置中设置的名字,表示连接成功,如果连接不上,关一下服务器的防火墙即可
数据库备份
双击上面刚创建的那个已连接的连接名称
(如果未连接,右键选中连接名称,出现的下拉菜单中选择连接即可),选中你想要进行备份的数据库,双击展开,右键 Backups
出现下拉菜单,选择 New Backup...
进行备份
点击Start
,进行备份,看到提示成功即可关闭该页面,备份成功后,展开 Backups
后下面会出现刚刚备份完成的数据库备份文件,文件以时间戳为名,nb3
为后缀。备份完成的文件默认保存在 /Users/用户名/Library/Application Support/PremiumSoft CyberTech/Navicat CC/Common/Settings/0/0/MySQL(数据库类型)/连接名称/备份的数据库名称
路径下,你也可以在其他地方多保存几份该文件,推荐多保存在不同的几个地方,防止炸库的问题
数据库恢复
假如你不幸遇到了数据库炸库或者误删除了数据库,导致整个数据库都没了,你会发现之前的备份文件连同数据库一同消失了,因为 Navicat Premium 的备份文件是默认保存在其数据库名称的路径下的,数据库消失了,其备份也跟随消失,这点比较坑,所以需要你多保存几份到其他地方,比如开个 gitlab 的私有库等等。如果你恰好偷懒没有多留几个本地备份,就只能使用 binlog 来回滚了,谁让你自己偷懒呢 🤷♂️。
假如勤快的你多留了几个本地备份,那么你需要在 Navicat Premium 中连接到你的服务器,并且在里面新建一个同名数据库(最好是保持同名,因为你的数据库索引可能还是之前的名字),双击进入这个新的数据库下,右键 Backups
,选择 Restore Backup from...
导入备份文件,然后双击备份文件,点击 Start
开始恢复数据库
如果你的数据库是存在的,那就很简单了,直接双击选择备份文件,开始恢复即可
本文至此就全部结束了,有没看懂的欢迎下面留言,评论区需要科学上网哈
参考
Navicat Premium实现mysql数据库备份/还原
通过Navicat Premium连接到Centos服务器上的Mysql数据库