debian

Debian MariaDB数据迁移步骤

小樊
51
2025-10-08 14:45:28
栏目: 云计算

Debian环境下MariaDB数据迁移步骤

一、迁移前准备

  1. 备份源数据库:防止迁移过程中数据丢失,使用mysqldump工具导出源数据库。
    命令示例:mysqldump -u [源数据库用户名] -p[源数据库密码] [源数据库名] > [备份文件名].sql(如mysqldump -uroot -pOldPass mydb > mydb_backup.sql)。
    输入密码后,备份文件将保存在当前目录。
  2. 检查源数据库配置:确认源数据库的字符集(如utf8mb4)、排序规则(如utf8mb4_general_ci)及版本信息(SELECT VERSION();),确保与目标数据库一致。
  3. 准备目标服务器:在Debian系统上安装MariaDB服务器(若未安装):
    sudo apt update
    sudo apt install mariadb-server -y
    
    安装完成后,运行sudo mysql_secure_installation设置root密码及安全选项。

二、迁移数据库文件(物理迁移,适用于全量迁移)

  1. 停止源和目标服务器
    # 源服务器
    ssh [源服务器IP]
    sudo systemctl stop mariadb
    
    # 目标服务器
    sudo systemctl stop mariadb
    
  2. 复制数据目录
    MariaDB默认数据目录为/var/lib/mysql,使用scp或rsync复制:
    scp -r [源服务器IP]:/var/lib/mysql /var/lib/mysql_new
    
  3. 修改目标配置文件
    编辑目标服务器的MariaDB配置文件(/etc/mysql/mariadb.conf.d/50-server.cnf),更新datadir路径:
    [mysqld]
    datadir = /var/lib/mysql_new
    
  4. 启动目标服务器并验证
    sudo systemctl start mariadb
    sudo mysql -u root -p -e "SHOW GLOBAL VARIABLES LIKE '%datadir%';"
    
    确认输出的datadir路径为目标目录。

三、导入数据库(逻辑迁移,适用于跨版本或选择性迁移)

  1. 创建目标数据库
    登录目标MariaDB,创建与源数据库同名的数据库:
    sudo mysql -u root -p -e "CREATE DATABASE [目标数据库名];"
    
  2. 导入备份文件
    使用mysql命令导入之前导出的SQL文件:
    mysql -u [目标数据库用户名] -p[目标数据库密码] [目标数据库名] < [备份文件名].sql
    
    例如:mysql -uroot -pNewPass mydb < mydb_backup.sql

四、迁移后验证

  1. 检查数据完整性
    登录目标数据库,查看表结构和数据是否与源数据库一致:
    USE [目标数据库名];
    SHOW TABLES;
    SELECT COUNT(*) FROM [关键表名];
    
  2. 验证应用程序连接
    更新应用程序的数据库配置文件(如config.php.env),修改数据库主机、用户名、密码及数据库名,重启应用程序服务。

五、清理与优化

  1. 删除临时文件:迁移完成后,删除备份文件或临时数据目录以释放空间。
  2. 更新统计信息:优化目标数据库性能:
    OPTIMIZE TABLE [表名];  -- 对每个表执行优化
    
  3. 监控性能:使用mysqltunerpt-query-digest工具分析目标数据库性能,调整配置(如innodb_buffer_pool_size)。

注意事项

0
看了该问题的人还看了