温馨提示×

如何在Linux上迁移MariaDB

小樊
44
2025-07-09 12:26:21
栏目: 云计算

在Linux上迁移MariaDB数据库可以按照以下步骤进行:

1. 准备工作

  • 备份数据:在进行任何迁移之前,务必备份所有重要的数据库数据。
    mysqldump -u root -p --all-databases > full_backup.sql
    
  • 安装新服务器:在新的Linux服务器上安装MariaDB。
    sudo apt-get update
    sudo apt-get install mariadb-server
    

2. 配置新服务器

  • 启动并启用MariaDB服务
    sudo systemctl start mariadb
    sudo systemctl enable mariadb
    
  • 运行安全脚本
    sudo mysql_secure_installation
    
    按照提示设置root密码,删除匿名用户,禁止root远程登录等。

3. 导入数据

  • 将备份文件传输到新服务器
    scp full_backup.sql user@new_server_ip:/path/to/backup/
    
  • 在新服务器上导入数据
    mysql -u root -p < /path/to/backup/full_backup.sql
    

4. 配置复制(可选)

如果你希望实现主从复制,以便在新服务器上进行读操作,可以在旧服务器上配置复制。

在旧服务器上:

  1. 编辑my.cnf文件(通常位于/etc/mysql/my.cnf/etc/my.cnf):
    [mysqld]
    server-id = 1
    log_bin = /var/log/mysql/mysql-bin.log
    binlog_do_db = your_database_name
    
  2. 重启MariaDB服务
    sudo systemctl restart mariadb
    
  3. 创建复制用户
    CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';
    GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
    FLUSH PRIVILEGES;
    
  4. 获取二进制日志位置
    SHOW MASTER STATUS;
    
    记录FilePosition的值。

在新服务器上:

  1. 编辑my.cnf文件
    [mysqld]
    server-id = 2
    relay_log = /var/log/mysql/mysql-relay-bin.log
    log_bin = /var/log/mysql/mysql-bin.log
    replicate_do_db = your_database_name
    
  2. 重启MariaDB服务
    sudo systemctl restart mariadb
    
  3. 配置复制
    CHANGE MASTER TO
    MASTER_HOST='old_server_ip',
    MASTER_USER='replicator',
    MASTER_PASSWORD='password',
    MASTER_LOG_FILE='mysql-bin.000001',
    MASTER_LOG_POS=123;
    START SLAVE;
    

5. 验证复制状态

在新服务器上运行以下命令检查复制状态:

SHOW SLAVE STATUS\G

确保Slave_IO_RunningSlave_SQL_Running都是Yes

6. 测试

  • 在旧服务器上进行写操作,然后在新的主服务器上检查数据是否同步。

7. 切换流量

如果一切正常,可以将应用程序的数据库连接字符串指向新的主服务器。

注意事项

  • 确保网络连接稳定。
  • 在迁移过程中避免对数据库进行写操作,以免数据不一致。
  • 根据实际情况调整配置文件中的参数。

通过以上步骤,你应该能够成功地在Linux上迁移MariaDB数据库。

0