linux

如何迁移数据到Linux MariaDB

小樊
49
2025-08-31 16:06:12
栏目: 云计算

迁移数据到Linux MariaDB可以通过多种方式进行,以下是一些常见的方法:

方法一:使用mysqldump工具

  1. 备份源数据库 在源数据库上运行mysqldump命令来导出数据。

    mysqldump -u [用户名] -p[密码] [数据库名] > backup.sql
    

    注意:-p后面直接跟密码,不要有空格。

  2. 将备份文件传输到目标服务器 使用scp或其他文件传输工具将backup.sql文件传输到目标Linux服务器。

    scp backup.sql user@target_server:/path/to/destination/
    
  3. 在目标服务器上导入数据 登录到目标服务器,使用mysql命令导入数据。

    mysql -u [用户名] -p[密码] [数据库名] < /path/to/destination/backup.sql
    

方法二:使用物理备份(如Percona XtraBackup)

  1. 安装Percona XtraBackup 在源服务器和目标服务器上都安装Percona XtraBackup。

    sudo apt-get install percona-xtrabackup-24
    
  2. 执行物理备份 在源服务器上运行以下命令进行全量备份。

    xtrabackup --backup --target-dir=/path/to/backup --user=[用户名] --password=[密码]
    
  3. 准备备份 将备份文件传输到目标服务器,并在目标服务器上准备备份。

    xtrabackup --prepare --target-dir=/path/to/backup
    
  4. 恢复备份 将准备好的备份文件复制到MariaDB的数据目录,并启动MariaDB服务。

    cp -R /path/to/backup/* /var/lib/mysql/
    systemctl start mariadb
    

方法三:使用数据库复制

  1. 配置主从复制 在源服务器上配置为Master,在目标服务器上配置为Slave。

    • 编辑源服务器的my.cnfmy.ini文件,添加以下内容:
      [mysqld]
      server-id = 1
      log_bin = /var/log/mysql/mysql-bin.log
      binlog_do_db = [数据库名]
      
    • 编辑目标服务器的my.cnfmy.ini文件,添加以下内容:
      [mysqld]
      server-id = 2
      relay_log = /var/log/mysql/mysql-relay-bin.log
      log_bin = /var/log/mysql/mysql-bin.log
      replicate_do_db = [数据库名]
      
  2. 重启MariaDB服务 在两台服务器上重启MariaDB服务以应用配置更改。

    systemctl restart mariadb
    
  3. 设置复制关系 在目标服务器上执行以下SQL命令来设置复制关系。

    CHANGE MASTER TO
    MASTER_HOST='源服务器IP',
    MASTER_USER='复制用户',
    MASTER_PASSWORD='复制用户密码',
    MASTER_LOG_FILE='mysql-bin.000001',
    MASTER_LOG_POS=107;
    START SLAVE;
    
  4. 验证复制状态 在目标服务器上检查复制状态以确保数据同步成功。

    SHOW SLAVE STATUS\G
    

注意事项

选择适合你需求的方法进行数据迁移,并确保在整个过程中监控进度和状态。

0
看了该问题的人还看了