Synology NAS MariaDB 5怎么迁移到MariaDB 10?从备份到验证的官方方案


随着MariaDB 5逐步停止技术支持,使用Synology NAS的用户需要将依赖MariaDB 5的数据库(如网站数据、应用配置库)迁移到MariaDB 10,以保障数据安全性和兼容性。但迁移过程涉及“数据备份-旧版卸载-新版安装-数据恢复”多个环节,若操作不当易导致数据库丢失或依赖套件(如phpMyAdmin、WordPress)无法正常运行。本文基于Synology官方知识库教程,结合实际操作场景,拆解每一步迁移细节,包括命令行备份参数、兼容性检查要点、迁移后验证方法,让即使不熟悉数据库操作的用户也能顺利完成MariaDB 5到MariaDB 10的迁移。



一、迁移前必做:3项核心准备(避免数据风险与迁移失败)

MariaDB迁移的核心风险在于“数据丢失”和“套件冲突”,因此迁移前需完成3项关键准备,确保操作安全:


1. 备份MariaDB 5的所有数据库(核心!)

迁移前必须完整备份MariaDB 5中的数据,这是后续恢复的唯一保障,推荐使用命令行工具(SSH) 或phpMyAdmin两种方式,优先选择命令行(备份更完整,支持大数据库):


方式1:通过SSH命令行备份(推荐,支持全量备份)

1. 开启NAS的SSH服务: 

- 登录Synology DSM系统(浏览器输入NAS IP,输入管理员账号密码); 

- 进入“控制面板→终端机和SNMP→终端机”,勾选“启用SSH服务”,端口默认22(可自定义,记录端口号),点击“应用”。 

2. 连接NAS的SSH终端: 

- Windows用户:打开“命令提示符”(Win+R输入cmd),输入命令:`ssh 管理员账号@NAS IP -p 端口号`(如`ssh admin@192.168.1.200 -p 22`); 

- Mac用户:打开“终端”(启动台→其他),输入相同SSH命令; 

- 首次连接会提示“是否继续连接”,输入“yes”后按Enter,再输入管理员密码(输入时不显示字符,输完按Enter)。 

3. 执行全量备份命令: 

- 输入以下命令,备份MariaDB 5的所有数据库到指定文件夹(如“/volume1/backup/mariadb5/”,需提前在File Station创建该文件夹): 

```bash

mysqldump -u root -p --all-databases > /volume1/backup/mariadb5/all_databases_backup.sql

``` 

- 命令参数解释: 

- `-u root`:使用MariaDB的root账号(默认管理员账号); 

- `-p`:提示输入密码(后续会要求输入MariaDB 5的root密码,非DSM密码,若忘记可在phpMyAdmin中重置); 

- `--all-databases`:备份所有数据库(包括系统自带库和用户创建库); 

- `> /volume1/backup/mariadb5/all_databases_backup.sql`:将备份内容输出到指定SQL文件(路径可自定义,需确保有写入权限)。 

- 按Enter后输入MariaDB 5的root密码,等待备份完成(时间取决于数据库大小,1GB数据库约需5-10分钟),备份成功后在指定路径会生成“all_databases_backup.sql”文件。


方式2:通过phpMyAdmin备份(适合小数据库,操作可视化)

1. 若已安装phpMyAdmin(依赖MariaDB 5),打开DSM桌面的“phpMyAdmin”,登录MariaDB 5的root账号; 

2. 点击左侧“数据库”列表顶部的“导出”选项卡; 

3. 选择“导出方法”为“快速”,“格式”为“SQL”,点击“执行”,浏览器会自动下载备份的SQL文件(保存到本地电脑,避免NAS存储故障导致备份丢失)。


2. 检查DSM与套件兼容性(避免安装失败)

MariaDB 10对Synology DSM版本和依赖套件有明确要求,需提前确认:


| 检查项目                | 要求(官方标准)                                                                 | 操作方法                                                                 |

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

| DSM版本                 | 需DSM 6.2.4及以上(推荐DSM 7.0+,兼容性更好)                                    | 进入DSM“控制面板→信息中心→常规”,查看“DSM版本”                            |

| 依赖套件状态            | 需停止所有依赖MariaDB 5的套件(如phpMyAdmin、WordPress、MediaWiki、Synology Surveillance Station) | 进入DSM“套件中心→已安装”,找到依赖套件,点击“操作→停止”                  |

| 存储空间                | 预留至少2倍于MariaDB 5数据库大小的空闲空间(用于安装MariaDB 10和临时文件)       | 进入DSM“控制面板→存储管理器→存储空间”,查看“可用空间”                    |


若DSM版本低于6.2.4,需先升级DSM(进入“控制面板→更新和还原→更新DSM”),再执行迁移;若依赖套件无法停止(如提示“服务正在使用”),需关闭套件对应的进程(通过“资源监视器→进程”结束相关进程)。


3. 记录MariaDB 5的关键配置(便于后续同步)

迁移后需同步旧版的配置(如端口、字符集),避免依赖套件连接异常,需记录以下信息: 

1. 数据库端口:进入MariaDB 5的配置文件(路径:`/usr/local/mariadb5/etc/my.cnf`),查看“port”参数(默认3306,若自定义需记录); 

2. 字符集:通过SSH执行命令`mysql -u root -p -e "show variables like 'character_set_database';"`,记录字符集(如utf8mb4、latin1); 

3. 用户权限:在phpMyAdmin中查看“用户账户”列表,记录关键用户(如网站数据库用户“wordpress_user”)的权限范围(如仅访问“wordpress_db”数据库)。



二、核心迁移步骤:4步完成MariaDB 5到MariaDB 10的升级

准备工作完成后,按“卸载旧版→安装新版→恢复数据→同步配置”的顺序执行迁移,每一步需严格按官方步骤操作:


步骤1:卸载MariaDB 5(注意:先备份再卸载!)

卸载前需再次确认备份已完成,避免数据丢失: 

1. 进入DSM“套件中心→已安装”,找到“MariaDB 5”; 

2. 点击“操作→卸载”,弹出确认窗口,勾选“同时移除应用程序配置文件”(避免残留配置影响MariaDB 10),点击“确定”; 

3. 等待卸载完成(约1-2分钟),卸载后“已安装”列表中不再显示MariaDB 5,同时依赖的phpMyAdmin会自动变为“未启用”状态(后续需重新配置)。


步骤2:安装MariaDB 10(从套件中心官方安装)

1. 进入DSM“套件中心→所有套件”,在搜索框输入“MariaDB 10”; 

2. 找到官方“MariaDB 10”套件(图标为绿色数据库样式,开发商显示“Synology Inc.”),点击“安装”; 

3. 弹出安装向导,默认勾选“启用TCP/IP网络”(必须勾选,否则远程无法访问),点击“下一步”; 

4. 设置MariaDB 10的“root密码”(建议与MariaDB 5的root密码一致,减少后续配置麻烦),点击“应用”; 

5. 等待安装完成(约3-5分钟),安装后在“已安装”列表中显示“MariaDB 10”,状态为“运行中”。


步骤3:恢复备份数据到MariaDB 10(关键步骤,确保数据完整)

使用迁移前备份的SQL文件,将数据恢复到MariaDB 10,推荐通过SSH命令行执行(支持大文件恢复,成功率高): 

1. 连接NAS SSH终端(同步骤1的方式2); 

2. 执行恢复命令: 

- 输入以下命令,将备份文件导入MariaDB 10(需替换备份文件路径和MariaDB 10的root密码): 

```bash

mysql -u root -p < /volume1/backup/mariadb5/all_databases_backup.sql

``` 

- 按Enter后输入MariaDB 10的root密码(若与旧版一致,直接输入即可),开始恢复数据; 

- 恢复过程中不要关闭终端或中断连接(大数据库恢复时间较长,需耐心等待),若提示“ERROR 1064 (42000)”,说明SQL文件有语法冲突(如MariaDB 10不兼容的旧语法),需用文本编辑器打开SQL文件,删除冲突语句(如旧版的“ENGINE=MyISAM”可改为“ENGINE=InnoDB”)后重新恢复。


验证恢复结果:

恢复完成后,执行以下命令查看数据库是否存在: 

```bash

mysql -u root -p -e "show databases;"

``` 

若列表中显示迁移前的所有数据库(如“wordpress_db”“phpmyadmin”),说明恢复成功;若缺失某数据库,需重新执行恢复命令,检查备份文件是否完整。


步骤4:同步配置与重启依赖套件(确保套件正常连接)

恢复数据后需同步MariaDB 5的关键配置,让依赖套件(如phpMyAdmin、WordPress)能正常连接MariaDB 10: 

1. 同步数据库端口: 

- 进入MariaDB 10的配置文件(路径:`/usr/local/mariadb10/etc/my.cnf`),将“port”参数改为MariaDB 5的记录值(如自定义端口3307,默认无需修改); 

- 保存配置文件后,进入DSM“套件中心→已安装→MariaDB 10”,点击“操作→重启”,让端口配置生效。 

2. 同步字符集: 

- 执行命令`mysql -u root -p -e "alter database 数据库名 character set 旧字符集;"`(如`alter database wordpress_db character set utf8mb4;`),将每个用户数据库的字符集改为旧版记录值; 

3. 重启依赖套件: 

- 进入“套件中心→已安装”,找到phpMyAdmin、WordPress等套件,点击“操作→启动”; 

- 启动phpMyAdmin后,用MariaDB 10的root密码登录,确认能正常查看和操作数据库(如打开“wordpress_db”查看数据表)。



三、迁移后验证:3步确认MariaDB 10运行正常

迁移完成后需通过“服务状态-数据完整性-套件兼容性”3个维度验证,确保无隐藏问题:


1. 验证MariaDB 10服务状态

1. 进入DSM“套件中心→已安装→MariaDB 10”,确认状态为“运行中”; 

2. 通过SSH执行命令`systemctl status mariadb10`,查看服务是否“active (running)”(无报错信息); 

3. 执行命令`mysql -u root -p -e "select version();"`,确认输出“10.x.x”(如10.3.38,符合MariaDB 10版本)。


2. 验证数据完整性(避免备份恢复遗漏)

1. 选择1-2个关键数据库(如网站数据库),在phpMyAdmin中查看数据表数量(如“wordpress_db”应有wp_posts、wp_users等表),与迁移前记录一致; 

2. 随机打开数据表(如wp_posts),查看数据内容(如文章标题、内容)是否完整,无乱码或缺失字段; 

3. 执行数据写入测试:在phpMyAdmin中向某数据表插入一条测试数据(如`insert into test_table (name) values ('migration_test');`),若能成功插入且查询可见,说明数据写入正常。


3. 验证套件兼容性(确保业务不中断)

1. 测试phpMyAdmin:登录后尝试创建新数据表、修改数据,确认操作无报错; 

2. 测试网站套件(如WordPress):打开WordPress后台,发布一篇新文章,查看前台是否能正常显示(无数据库连接错误提示); 

3. 测试其他依赖套件(如MediaWiki):访问MediaWiki首页,确认能正常加载页面和显示内容,无“数据库无法连接”提示。



四、常见问题解答:迁移中的5类高频问题与解决方案

在迁移过程中,用户常遇到“恢复失败”“套件连接异常”等问题,以下是官方推荐的针对性解决方案:


| 常见问题现象                | 可能原因                                  | 解决方案                                                                 |

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

| 恢复数据时提示“Access denied for user 'root'@'localhost'” | MariaDB 10的root密码输入错误,或权限未启用 | 1. 确认密码正确(若忘记,进入DSM“套件中心→MariaDB 10→操作→重置密码”);2. 执行命令`mysql -u root -p -e "grant all privileges on . to 'root'@'localhost' with grant option;"`,启用root本地权限 |

| 安装MariaDB 10提示“存储空间不足” | 预留空间未达2倍数据库大小,或临时文件占用空间 | 1. 进入“存储管理器”删除无用文件,释放空间;2. 临时关闭其他高占用套件(如Docker),安装完成后重启 |

| WordPress提示“数据库连接错误” | WordPress配置文件未同步MariaDB 10信息     | 1. 找到WordPress的配置文件(路径:`/volume1/web/wordpress/wp-config.php`);2. 修改`DB_PASSWORD`为MariaDB 10的root密码,`DB_HOST`若自定义端口需改为“localhost:端口号”(如“localhost:3307”) |

| 恢复后数据表乱码            | 字符集未同步,或备份时字符集设置错误       | 1. 按步骤4同步数据库字符集;2. 若仍乱码,重新用“指定字符集”备份(命令:`mysqldump -u root -p --default-character-set=旧字符集 --all-databases > 新备份.sql`),再重新恢复 |

| MariaDB 10启动后立即停止    | 配置文件语法错误,或端口被占用             | 1. 检查my.cnf文件(如逗号、分号是否遗漏);2. 执行命令`netstat -tuln | grep 端口号`,查看端口是否被其他进程占用,若占用则修改MariaDB 10端口 |



总结:MariaDB 5迁移到MariaDB 10的核心要点

Synology NAS MariaDB 5到MariaDB 10的迁移,核心是“安全备份-兼容检查-完整恢复-细致验证”,需牢记3个关键: 

1. 备份是底线:无论数据库大小,必须先完整备份,避免迁移失败导致数据丢失; 

2. 兼容性是前提:DSM版本、套件状态、存储空间需提前检查,不符合要求不要强行迁移; 

3. 验证是保障:迁移后需从“服务-数据-套件”多维度验证,确保无隐藏问题,避免后续业务中断。 


通过本文步骤操作,即可顺利完成迁移,同时保障数据库的安全性和依赖套件的兼容性,让MariaDB 10持续为NAS的应用提供稳定的数据库支持。

Synology NAS MariaDB 5迁移到MariaDB 10完整指南:备份+卸载+安装+数据恢复步骤

新闻中心

联系我们

技术支持

  • ·

    Synology 无法访问共享文...

  • ·

    Synology NAS Win...

  • ·

    如何用 DiXiM Media ...

  • ·

    Synology DSM常规设置...

  • ·

    Active Backup fo...

  • ·

    Synology NAS打开Of...

  • ·

    Synology Migrati...

  • ·

    Synology Office多...

相关文章

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

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

微信咨询

新闻中心