网络知识
Ubuntu MariaDB复制功能如何设置
2025-07-08 17:03  点击:0

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

一、准备工作
    确保两台服务器都已安装MariaDB:
一台作为主服务器(Master)。另一台作为从服务器(Slave)。
    配置防火墙:
确保主服务器允许从服务器的连接请求。在主服务器上运行以下命令开放3306端口(默认MySQL/MariaDB端口):
sudo ufw allow 3306/tcp
    备份主服务器数据:
在进行复制设置之前,建议先备份主服务器上的数据库,以防万一。二、配置主服务器
    编辑主服务器的配置文件(通常是/etc/mysql/mariadb.conf.d/50-server.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
    创建用于复制的专用用户:
登录到MariaDB:
mysql -u root -p
创建复制用户并授予权限:
CREATE USER 'replicator'@'%' IDENTIFIED BY 'your_password';# 替换为你的密码GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';FLUSH PRIVILEGES;EXIT;
    获取主服务器的二进制日志位置:
在MariaDB命令行中执行:
SHOW MASTER STATUS;
记录下FilePosition的值。三、配置从服务器
    编辑从服务器的配置文件:
添加或修改以下配置项:
[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:
mysql -u root -p
执行以下命令来设置复制:
CHANGE MASTER TOMASTER_HOST='master_ip_address',# 替换为主服务器的IP地址MASTER_USER='replicator',MASTER_PASSWORD='your_password',MASTER_LOG_FILE='recorded_log_file_name',# 替换之前记录的File值MASTER_LOG_POS=recorded_log_position;# 替换之前记录的Position值START SLAVE;
    检查复制状态:
执行以下命令查看复制是否成功启动:
SHOW SLAVE STATUS\G
关注Slave_IO_RunningSlave_SQL_Running两个字段,它们都应该是Yes。四、验证复制在主服务器上创建一个测试数据库或表,并插入一些数据。然后在从服务器上检查这些更改是否已同步。注意事项确保主从服务器的时间同步。定期检查复制状态,并处理可能出现的错误。如果需要更高的安全性,可以考虑使用SSL加密复制连接。

按照以上步骤操作后,你应该能够在Ubuntu上成功设置MariaDB的复制功能。如果在过程中遇到问题,请参考MariaDB官方文档或寻求社区帮助。