网络知识
如何在Linux上迁移MariaDB
2025-07-10 10:07  点击:1

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

1. 准备工作备份数据:在进行任何迁移之前,务必备份所有重要的数据库数据。
mysqldump -u root -p --all-databases > full_backup.sql
安装新服务器:在新的Linux服务器上安装MariaDB。
sudo apt-get updatesudo apt-get install mariadb-server
2. 配置新服务器启动并启用MariaDB服务:
sudo systemctl start mariadbsudo 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. 配置复制(可选)

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

在旧服务器上:
    编辑my.cnf文件(通常位于/etc/mysql/my.cnf/etc/my.cnf):
    [mysqld]server-id = 1log_bin = /var/log/mysql/mysql-bin.logbinlog_do_db = your_database_name
    重启MariaDB服务:
    sudo systemctl restart mariadb
    创建复制用户:
    CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';FLUSH PRIVILEGES;
    获取二进制日志位置:
    SHOW MASTER STATUS;
    记录FilePosition的值。
在新服务器上:
    编辑my.cnf文件:
    [mysqld]server-id = 2relay_log = /var/log/mysql/mysql-relay-bin.loglog_bin = /var/log/mysql/mysql-bin.logreplicate_do_db = your_database_name
    重启MariaDB服务:
    sudo systemctl restart mariadb
    配置复制:
    CHANGE MASTER TOMASTER_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数据库。