网络知识
Ubuntu MariaDB复制功能如何配置
2025-07-12 15:57  点击:0

在Ubuntu上配置MariaDB的复制功能,可以按照以下步骤进行:

1. 准备工作确保两台服务器(主服务器和从服务器)都已经安装了MariaDB。确保两台服务器之间的网络连接正常。确保主服务器和从服务器的MariaDB版本相同或兼容。2. 配置主服务器

    编辑主服务器的配置文件:打开主服务器的/etc/mysql/mariadb.conf.d/50-server.cnf(或/etc/mysql/my.cnf)文件,添加以下内容:

    [mysqld]server-id = 1log_bin = /var/log/mysql/mysql-bin.logbinlog_do_db = your_database_name# 替换为你要复制的数据库名称

    重启MariaDB服务:

    sudo systemctl restart mariadb

    创建复制用户:登录到MariaDB并创建一个用于复制的用户:

    CREATE USER 'replicator'@'%' IDENTIFIED BY 'your_password';# 替换为你的密码GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';FLUSH PRIVILEGES;

    获取主服务器的二进制日志位置:登录到MariaDB并执行以下命令:

    FLUSH TABLES WITH READ LOCK;SHOW MASTER STATUS;

    记录下FilePosition的值,稍后会用到。

    解锁表:

    UNLOCK TABLES;
3. 配置从服务器

    编辑从服务器的配置文件:打开从服务器的/etc/mysql/mariadb.conf.d/50-server.cnf(或/etc/mysql/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

    配置复制:登录到MariaDB并执行以下命令:

    CHANGE MASTER TOMASTER_HOST='master_ip_address',# 替换为主服务器的IP地址MASTER_USER='replicator',MASTER_PASSWORD='your_password',# 替换为你的密码MASTER_LOG_FILE='recorded_log_file_name',# 替换为你记录的日志文件名MASTER_LOG_POS=recorded_log_position;# 替换为你记录的日志位置

    启动复制:

    START SLAVE;

    检查复制状态:执行以下命令检查复制是否正常运行:

    SHOW SLAVE STATUS\G

    确保Slave_IO_RunningSlave_SQL_Running都显示为Yes

4. 验证复制在主服务器上插入一些数据,然后在从服务器上查询这些数据,确保数据已经同步。注意事项确保主服务器和从服务器的时间同步。如果需要复制多个数据库,可以在replicate_do_db中指定多个数据库名称,用逗号分隔。如果需要复制所有数据库,可以使用replicate_wild_do_table选项。

通过以上步骤,你应该能够在Ubuntu上成功配置MariaDB的复制功能。