温馨提示×

怎样进行MariaDB数据迁移

小樊
54
2025-08-23 15:35:33
栏目: 云计算

MariaDB数据迁移可按以下步骤操作,适用于不同场景:

一、基础迁移(逻辑备份恢复)

  1. 备份源数据库
    使用mysqldump导出数据(全量或指定库):

    # 全量备份  
    mysqldump -u [用户名] -p[密码] --all-databases > full_backup.sql  
    # 单库备份  
    mysqldump -u [用户名] -p[密码] [数据库名] > db_backup.sql  
    
  2. 传输备份文件
    通过scp或文件管理工具将备份文件复制到目标服务器:

    scp backup.sql [目标用户]@[目标IP]:/目标路径  
    
  3. 恢复数据到目标库

    • 创建目标数据库:
      mysql -u [用户名] -p[密码] -e "CREATE DATABASE [新库名];"  
      
    • 导入数据:
      mysql -u [用户名] -p[密码] [新库名] < backup.sql  
      
  4. 验证数据
    登录目标数据库检查表结构和数据完整性:

    mysql -u [用户名] -p[密码]  
    USE [新库名];  
    SHOW TABLES;  
    SELECT * FROM [表名] LIMIT 10;  
    

二、大数据库迁移(高效工具)

  • 使用mydumper/myloader(支持并行备份恢复,适合大库):

    1. 源服务器安装mydumper并备份:
      mydumper -u [用户名] -p[密码] -B [数据库名] -o /备份路径  
      
    2. 目标服务器安装myloader并恢复:
      myloader -u [用户名] -p[密码] -d /备份路径 -h [目标IP]  
      
  • 使用xtrabackup(适合InnoDB大库,需服务器权限):

    1. 源服务器备份:
      xtrabackup --backup --user=[用户名] --password=[密码] --target-dir=/备份路径  
      
    2. 目标服务器恢复:
      xtrabackup --prepare --target-dir=/备份路径  
      xtrabackup --copy-back --target-dir=/备份路径 --datadir=/var/lib/mysql  
      

三、注意事项

  • 兼容性:确保目标MariaDB版本与源库兼容,注意字符集(如utf8mb4)和存储引擎(如InnoDB)一致性。
  • 权限与网络:确保备份/恢复操作有足够权限,网络传输稳定,大库建议在低峰期操作。
  • 高可用场景:生产环境可结合工具(如pt-table-checksum校验数据一致性,或使用云厂商DTS工具)。

四、工具推荐

  • 图形化工具:Navicat for MariaDB(支持可视化迁移,适合新手)。
  • 命令行工具mysqldump/mysql(基础通用)、mydumper/myloader(高效大库)。

按需选择方案,优先在测试环境验证流程后再执行生产迁移。

0