debian

Debian MySQL数据库迁移方案

小樊
36
2025-03-08 19:44:12
栏目: 云计算
亿速云数据库,弹性扩容,低至0.3元/天! 查看>>

在Debian系统上进行MySQL数据库迁移,可以采用多种方法。以下是一个基本的迁移方案,包括从旧服务器迁移到新服务器的步骤:

1. 准备工作

2. 使用mysqldump进行备份和恢复

步骤:

  1. 在旧服务器上备份数据库

    mysqldump -u [用户名] -p[密码] --all-databases > backup.sql
    

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

  2. 将备份文件传输到新服务器: 可以使用scp命令:

    scp backup.sql [新服务器用户名]@[新服务器IP]:/path/to/backup.sql
    
  3. 在新服务器上恢复数据库

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

3. 使用物理备份和恢复

步骤:

  1. 在旧服务器上停止MySQL服务

    sudo systemctl stop mysql
    
  2. 创建数据目录的备份

    sudo tar czvf mysql_data_backup.tar.gz /var/lib/mysql
    
  3. 将备份文件传输到新服务器

    scp mysql_data_backup.tar.gz [新服务器用户名]@[新服务器IP]:/path/to/mysql_data_backup.tar.gz
    
  4. 在新服务器上解压并恢复数据目录

    sudo tar xzvf mysql_data_backup.tar.gz -C /
    
  5. 修改新服务器上的MySQL数据目录权限

    sudo chown -R mysql:mysql /var/lib/mysql
    
  6. 启动MySQL服务

    sudo systemctl start mysql
    

4. 使用复制进行迁移

步骤:

  1. 在旧服务器上配置复制: 编辑旧服务器的/etc/mysql/mysql.conf.d/mysqld.cnf文件,添加以下内容:

    server-id = 1
    log_bin = /var/log/mysql/mysql-bin.log
    binlog_do_db = [数据库名]
    
  2. 重启MySQL服务

    sudo systemctl restart mysql
    
  3. 在新服务器上配置复制: 编辑新服务器的/etc/mysql/mysql.conf.d/mysqld.cnf文件,添加以下内容:

    server-id = 2
    relay_log = /var/log/mysql/mysql-relay-bin.log
    log_bin = /var/log/mysql/mysql-bin.log
    replicate_do_db = [数据库名]
    
  4. 重启MySQL服务

    sudo systemctl restart mysql
    
  5. 在新服务器上创建复制用户

    CREATE USER 'replicator'@'旧服务器IP' IDENTIFIED BY '密码';
    GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'旧服务器IP';
    FLUSH PRIVILEGES;
    
  6. 获取二进制日志位置

    SHOW MASTER STATUS;
    
  7. 在新服务器上配置复制

    CHANGE MASTER TO
    MASTER_HOST='旧服务器IP',
    MASTER_USER='replicator',
    MASTER_PASSWORD='密码',
    MASTER_LOG_FILE='mysql-bin.000001',
    MASTER_LOG_POS=123;
    START SLAVE;
    

5. 验证迁移

注意事项

通过以上步骤,你可以成功地将MySQL数据库从Debian旧服务器迁移到新服务器。根据实际情况选择最适合的方法。

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

相关推荐:Debian MySQL数据库如何迁移

0
看了该问题的人还看了