Synology 备份运行数据库服务的服务器全指南:方法/工具/一致性保障(DSM 7.x适配)

在企业IT架构中,运行数据库服务的服务器(如MySQL、PostgreSQL服务器)是核心数据载体,一旦因硬件故障、勒索攻击导致数据丢失,将直接影响业务连续性。许多用户疑问“能否通过Synology NAS备份这类运行中的数据库服务器”——答案是肯定的,但需针对数据库“实时读写”的特性,采用适配的备份方法与工具,否则易出现“备份文件损坏”“数据不一致”等问题。本文基于Synology官方技术文档,从“可行性说明→前提准备→核心备份方案→一致性保障→恢复验证”五大维度,手把手教您完成运行中数据库服务器的备份,覆盖主流数据库类型(MySQL、PostgreSQL、SQL Server),适配DSM 7.x全版本,兼顾中小企业单机数据库与集群场景。



一、核心问题解答:Synology能备份运行数据库服务的服务器吗?(官方结论)

首先明确Synology官方立场:完全支持备份运行中的数据库服务器,但需满足两个核心条件——“使用适配的备份工具”与“保障数据一致性”,具体可行性说明如下:


| 可行性维度                | 官方结论                          | 关键依据                                  |

|-------------------------|-----------------------------------|-------------------------------------------|

| 是否支持“运行中备份”      | 支持(热备份)                    | Synology工具(如Hyper Backup)可通过数据库原生命令(mysqldump、pg_dump)捕获实时数据,无需停机 |

| 是否支持主流数据库        | 支持MySQL、PostgreSQL、SQL Server、MongoDB等 | 官方文档明确列出适配的数据库版本(如MySQL 5.7+/8.0+、PostgreSQL 10+/14+) |

| 是否保障数据一致性        | 支持(需配置一致性选项)          | 可通过“预备份脚本”“事务日志备份”“锁定临时表”等方式避免数据碎片化 |

| 是否支持异地/定时备份      | 支持(全量+增量备份)             | Hyper Backup支持定时全量备份,Snapshot Replication支持增量同步,可跨NAS异地备份 |



二、前提准备:4大核心条件,奠定备份基础

备份运行中的数据库服务器前,需先确认环境、工具、权限满足要求,避免因基础条件缺失导致备份失败或数据损坏。


1. 确认数据库与Synology工具适配性

不同数据库需搭配特定Synology工具,且有版本限制,需优先核对:


| 数据库类型       | 支持的Synology备份工具                          | 数据库版本要求                          | 备注                                  |

|------------------|-----------------------------------|-----------------------------------|---------------------------------------|

| MySQL/MariaDB    | Hyper Backup、Snapshot Replication、MariaDB Backup | MySQL 5.7+、MariaDB 10.2+          | 需开启数据库远程访问权限(授权NAS IP登录) |

| PostgreSQL       | Hyper Backup、pg_dump(原生命令)               | PostgreSQL 10+                    | 需配置postgresql.conf允许远程连接      |

| SQL Server       | Hyper Backup、SQL Server Management Studio(配合) | SQL Server 2016+                  | 需安装ODBC驱动(Synology NAS端)       |

| MongoDB          | Hyper Backup、mongodump(原生命令)             | MongoDB 4.0+                      | 需启用MongoDB认证(用户名密码登录)    |


- 工具安装路径: 

Hyper Backup/Snapshot Replication:DSM桌面→套件中心→搜索工具名称→点击“安装”(DSM 7.x默认支持,无需额外依赖)。


2. 权限准备:3类关键权限(缺一不可)

| 操作对象                | 所需权限                          | 获取方式                                  |

|-------------------------|-----------------------------------|-------------------------------------------|

| Synology NAS            | DSM超级管理员权限(如admin账户)  | 需具备“套件管理”“共享文件夹管理”“任务计划”权限 |

| 数据库服务器            | 数据库管理员权限(如MySQL root)  | 由数据库管理员分配,需允许远程执行备份命令(如MySQL授权:`GRANT ALL PRIVILEGES ON . TO 'root'@'NAS_IP' IDENTIFIED BY '密码';`) |

| 数据库服务器操作系统    | 服务器管理员权限(如Windows Administrator、Linux root) | 需在服务器上配置“预备份脚本”“日志访问权限” |


3. 网络与存储准备

- 网络连通性: 

1. 确保Synology NAS与数据库服务器在同一局域网(或可通过VPN互通),测试连通性:NAS端SSH执行`ping 数据库服务器IP`(如`ping 192.168.1.200`),确保无丢包; 

2. 开放数据库端口(如MySQL 3306、PostgreSQL 5432),NAS端可通过`telnet 数据库服务器IP 端口`(如`telnet 192.168.1.200 3306`)验证端口可达。

- 存储容量: 

NAS需预留“数据库容量1.5倍”的存储空间(全量备份+增量备份),例如500GB数据库,建议NAS可用容量≥750GB;可通过DSM→存储管理器→查看“可用容量”。


4. 备份前的数据库状态检查

运行中的数据库需先排除异常状态,避免备份源头数据损坏:

1. 检查数据库服务状态: 

- MySQL:服务器端执行`systemctl status mysqld`(Linux)或查看“服务”中“MySQL”状态(Windows),确保“active(running)”; 

- PostgreSQL:执行`systemctl status postgresql`,确认服务正常。

2. 修复数据库碎片/错误: 

- MySQL:执行`mysqlcheck -u root -p --auto-repair --check --optimize --all-databases`,自动修复表错误; 

- PostgreSQL:执行`pg_checksums verify /var/lib/postgresql/14/main`(路径需根据版本调整),检查数据完整性。



三、核心备份方案:分数据库类型+Synology工具实操(DSM 7.x)

针对不同数据库的特性,需采用差异化的备份流程,以下以“MySQL(最常用)”“PostgreSQL”“SQL Server”为例,详解基于Hyper Backup(主流工具)的备份步骤,每步附详细路径与配置说明。


方案1:备份运行中的MySQL/MariaDB服务器(Hyper Backup)

MySQL支持通过“mysqldump原生命令”实现热备份,Hyper Backup可集成该命令,保障数据一致性:


步骤1:在数据库服务器配置远程备份权限

1. 登录MySQL服务器(Linux示例),打开终端,执行以下命令授权NAS访问: 

```bash

mysql -u root -p   输入root密码登录

GRANT ALL PRIVILEGES ON . TO 'backup_user'@'NAS_IP' IDENTIFIED BY 'Backup@123';   创建备份专用用户,NAS_IP替换为NAS实际IP

FLUSH PRIVILEGES;   刷新权限

exit;

```

2. 编辑MySQL配置文件(`/etc/my.cnf`或`/etc/mysql/my.cnf`),允许远程连接: 

```ini

[mysqld]

bind-address = 0.0.0.0   允许所有IP访问(或指定NAS_IP,更安全)

skip-networking = off   关闭网络限制

```

3. 重启MySQL服务使配置生效: 

```bash

systemctl restart mysqld   Linux

Windows:服务中找到“MySQL”→右键“重启”

```


步骤2:在NAS上创建Hyper Backup任务

1. 登录DSM→打开“Hyper Backup”套件→点击左侧“+”(新建备份任务); 

2. 选择备份目标:若备份到本地NAS,选“本地文件夹与USB设备”;若异地备份,选“Synology NAS”(需另一台Synology设备),此处以“本地备份”为例; 

3. 选择备份文件夹:点击“浏览”→选择NAS上的共享文件夹(如“MySQL_Backup”,建议单独创建,避免混存其他文件)→点击“确定”; 

4. 配置“应用程序备份”(核心:集成mysqldump保障一致性): 

- 点击“应用程序”→勾选“MySQL/MariaDB”→点击“设置”; 

- 在弹出窗口中,填写数据库服务器信息: 

- 服务器地址:数据库服务器IP(如192.168.1.200); 

- 端口:3306(MySQL默认端口,若自定义需修改); 

- 用户名/密码:步骤1创建的“backup_user”与“Backup@123”; 

- 勾选“使用mysqldump进行备份”(关键!通过原生命令捕获一致数据); 

- 可选:勾选“备份所有数据库”或“指定数据库”(按需选择,建议全量备份); 

- 点击“测试连接”,显示“连接成功”后点击“确定”; 

5. 设置备份策略: 

- 备份类型:勾选“全量备份”(首次必须全量)+“增量备份”(后续仅备份变化数据,节省空间); 

- 备份周期:设置“每天凌晨2点”(业务低峰期,减少对数据库影响); 

- 保留策略:勾选“保留最近10个版本”(避免备份文件过多占用空间); 

6. 点击“应用”→“立即备份”,等待任务完成(时间取决于数据库大小,50GB约需30-60分钟)。



方案2:备份运行中的PostgreSQL服务器(Hyper Backup+pg_dump)

PostgreSQL通过“pg_dump”实现热备份,Hyper Backup配置逻辑与MySQL类似,但需注意用户权限与配置文件路径:


关键差异步骤(与MySQL对比):

1. 数据库服务器授权: 

登录PostgreSQL服务器,编辑`/var/lib/postgresql/14/main/pg_hba.conf`(版本不同路径可能变化),添加NAS IP信任规则: 

```ini

host    all             all             NAS_IP/32            md5   允许NAS IP通过密码登录

```

重启PostgreSQL:`systemctl restart postgresql`。


2. Hyper Backup应用设置: 

步骤4中勾选“PostgreSQL”→“设置”,填写: 

- 服务器地址:PostgreSQL服务器IP; 

- 端口:5432(默认); 

- 用户名:postgres(默认管理员); 

- 密码:postgres账户密码; 

- 勾选“使用pg_dump进行备份”,其他步骤与MySQL一致。



方案3:备份运行中的SQL Server服务器(Hyper Backup+ODBC)

SQL Server需先在NAS安装ODBC驱动,再通过Hyper Backup连接备份:


额外步骤:NAS安装SQL Server ODBC驱动

1. 登录DSM→套件中心→“设置”→“套件来源”→点击“新增”,输入名称“Synology”,位置“https://packages.synology.com”→“确定”; 

2. 在套件中心搜索“ODBC Driver for SQL Server”→点击“安装”; 

3. 安装完成后,打开“控制面板”→“信息中心”→“应用程序”,确认“ODBC Driver for SQL Server”状态为“已安装”。


备份步骤(核心差异):

Hyper Backup“应用程序设置”中勾选“SQL Server”→“设置”,填写: 

- 服务器地址:SQL Server服务器IP; 

- 端口:1433(默认); 

- 数据库名称:目标数据库(如“BusinessDB”); 

- 认证方式:选择“SQL Server认证”,输入用户名(如sa)与密码; 

- 勾选“备份事务日志”(保障增量备份一致性),其他步骤与MySQL一致。



四、关键保障:运行中数据库备份的“数据一致性”技巧

运行中的数据库因存在“未提交事务”“缓存数据”,直接拷贝文件会导致备份损坏,需通过以下3种官方推荐方法保障一致性:


1. 使用数据库原生备份命令(最常用)

如MySQL的`mysqldump`、PostgreSQL的`pg_dump`、SQL Server的`BACKUP DATABASE`,这些命令会: 

- 临时锁定表(避免备份时数据写入); 

- 捕获已提交事务,忽略未提交事务; 

- 生成SQL脚本格式的备份文件(可直接用于恢复,兼容性强); 

- 配置要点:在Hyper Backup“应用程序设置”中必须勾选“使用原生命令备份”,不可直接备份数据库文件目录。


2. 备份事务日志(增量备份一致性)

对于支持事务日志的数据库(如SQL Server、MySQL InnoDB),可通过“全量备份+事务日志备份”实现秒级恢复,避免增量备份数据缺失: 

- SQL Server示例: 

1. 全量备份后,在Hyper Backup中勾选“备份事务日志”,设置“每30分钟备份一次日志”; 

2. 恢复时,先恢复全量备份,再按时间顺序恢复事务日志,可恢复到故障前任意时间点。


3. 预备份脚本(复杂场景适配)

若数据库有自定义业务逻辑(如定时任务、临时表),可在备份前执行脚本清理无效数据,Hyper Backup支持配置“预备份脚本”: 

1. 在数据库服务器创建脚本(如`pre_backup.sh`,Linux示例): 

```bash

!/bin/bash

备份前删除7天前的临时表

mysql -u root -p'Password@123' -e "DROP TABLE IF EXISTS temp_db.temp_table_$(date -d '7 days ago' +%Y%m%d);"

```

2. 在Hyper Backup“高级设置”→“预备份脚本”中,填写脚本路径(如`//192.168.1.200/script/pre_backup.sh`),并授权NAS访问脚本文件(服务器端设置共享或文件权限)。



五、备份后验证与恢复:确保备份可用(避免“无效备份”)

备份完成后必须验证可用性,否则故障时无法恢复,官方推荐“定期恢复测试”(每月至少1次),步骤如下:


1. 备份文件完整性验证

1. 登录DSM→打开Hyper Backup→找到目标备份任务→点击“版本”; 

2. 选择最新备份版本→点击“验证”→Hyper Backup会检查备份文件是否损坏、数据是否完整; 

3. 若显示“验证成功”,说明备份可用;若“验证失败”,检查数据库服务器网络连接,重新执行备份。


2. 模拟恢复测试(关键步骤)

以MySQL为例,在测试服务器(非生产环境)恢复备份,验证数据一致性: 

1. 在测试服务器安装与生产环境相同版本的MySQL; 

2. 从NAS复制备份文件(路径:`/volume1/MySQL_Backup/[备份任务名]/[版本号]/mysql_backup.sql`)到测试服务器; 

3. 执行恢复命令: 

```bash

mysql -u root -p < mysql_backup.sql   导入备份数据

```

4. 登录MySQL,执行查询验证: 

```sql

USE 目标数据库;

SELECT COUNT() FROM 核心表;   对比生产环境表数据量,确保一致

SELECT  FROM 核心表 LIMIT 10;   检查数据内容是否正常

```


3. 恢复故障生产数据库(应急场景)

若生产数据库故障,按以下步骤恢复(基于Hyper Backup): 

1. 登录DSM→Hyper Backup→目标任务→“版本”→选择最近的可用备份版本; 

2. 点击“恢复”→选择“恢复到原始位置”(或“恢复到其他位置”,避免覆盖); 

3. 勾选“恢复应用程序数据”→“设置”,填写生产数据库服务器信息(与备份时一致); 

4. 点击“应用”,等待恢复完成(期间停止数据库相关业务,避免数据写入); 

5. 恢复后,登录数据库验证数据,重启相关业务服务。



六、常见问题解答:6类高频备份故障解决(官方方案)

1. Q:备份MySQL时提示“mysqldump: Got error: 1045: Access denied”,怎么办?

A:权限问题,解决步骤: 

1. 检查NAS IP是否在MySQL授权列表:执行`SELECT Host, User FROM mysql.user WHERE User='backup_user';`,确认Host为NAS IP; 

2. 重置备份用户密码:`SET PASSWORD FOR 'backup_user'@'NAS_IP' = PASSWORD('NewBackup@123');`,重新在Hyper Backup中配置密码; 

3. 关闭MySQL防火墙:Linux执行`firewall-cmd --add-port=3306/tcp --permanent`,重启防火墙。


2. Q:备份PostgreSQL时提示“pg_dump: could not connect to database”,原因是什么?

A:远程连接配置错误,解决方法: 

1. 检查`pg_hba.conf`是否添加NAS IP规则,且认证方式为“md5”(非“ident”); 

2. 编辑`postgresql.conf`,确保“listen_addresses = ''”(允许远程连接); 

3. 重启PostgreSQL服务:`systemctl restart postgresql`。


3. Q:备份SQL Server时提示“ODBC Driver not found”,如何处理?

A:NAS未安装ODBC驱动,解决步骤: 

1. 确认套件中心已添加“Synology官方套件源”(步骤见方案3); 

2. 重新搜索“ODBC Driver for SQL Server”,确保安装对应版本(如“ODBC Driver 17 for SQL Server”); 

3. 安装后重启Hyper Backup,重新配置备份任务。


4. Q:备份完成后验证提示“数据不一致”,怎么排查?

A:可能是备份时数据库有大量未提交事务,解决方法: 

1. 调整备份时间到业务低峰期(如凌晨2点,避免订单创建、数据写入高峰); 

2. 在预备份脚本中添加“事务提交”命令(MySQL示例:`mysql -u root -p -e "FLUSH TABLES WITH READ LOCK; COMMIT;"`); 

3. 重新执行全量备份,再次验证。


5. Q:增量备份占用空间越来越大,如何优化?

A:配置合理的保留策略,步骤: 

1. 打开Hyper Backup→目标任务→“编辑”→“保留策略”; 

2. 勾选“按时间保留”(如保留最近30天)+“按版本数保留”(如保留10个版本),两者取交集; 

3. 勾选“删除过期备份时优化存储空间”(Btrfs文件系统支持,释放碎片空间)。


6. Q:能否通过Snapshot Replication备份运行中的数据库服务器?

A:支持,但需满足条件: 

1. 数据库服务器需为Synology Virtual Machine Manager(VMM)中的虚拟机(Snapshot Replication仅支持虚拟机备份); 

2. 虚拟机需使用Btrfs存储池,且开启“虚拟机快照一致性”(VMM→虚拟机→“编辑”→“快照”→勾选“应用程序一致性”); 

3. 备份步骤:Snapshot Replication→“创建”→选择虚拟机→设置同步周期,其他与Hyper Backup类似。



总结

Synology完全支持备份运行中的数据库服务器,核心是“选对工具(Hyper Backup为主)+ 保障一致性(原生命令/事务日志)+ 定期验证”。不同数据库的备份差异主要在“授权方式”与“一致性工具”(如MySQL用mysqldump,PostgreSQL用pg_dump),需按官方适配方案操作,避免直接拷贝数据库文件导致备份无效。


若您在备份特定数据库(如MongoDB、Oracle)时遇到问题,或需要配置“跨地域异地备份”,可参考Synology官方文档(https://kb.synology.cn/zh-cn/DSM/tutorial/Can_I_back_up_servers_running_database_services)获取型号适配细节,或告诉我您的数据库类型与规模(如“50GB MySQL单机”“200GB PostgreSQL集群”),我帮您定制专属备份方案。


需要我为您整理一份运行中数据库服务器备份checklist吗?包含前提确认清单、分数据库操作步骤、一致性配置要点及恢复测试流程,方便您实操时逐点核对,避免遗漏关键环节?

Synology 备份运行数据库服务的服务器全指南:方法/工具/一致性保障(DSM 7.x适配)

新闻中心

联系我们

技术支持

  • ·

    Synology 无法访问共享文...

  • ·

    Synology NAS Win...

  • ·

    如何用 DiXiM Media ...

  • ·

    Synology DSM常规设置...

  • ·

    Active Backup fo...

  • ·

    Synology NAS打开Of...

  • ·

    Synology Migrati...

  • ·

    Synology Office多...

相关文章

地址:北京市海淀区白家疃尚品园             1号楼225

北京群晖时代科技有限公司

微信咨询

新闻中心