在linux系统中设置mariadb的主从复制需要完成一系列操作流程。下面将分步骤介绍如何搭建主服务器与从服务器之间的数据同步机制。
主服务器设置
-
修改主服务器的配置文件(通常位于/etc/my.cnf或/etc/mysql/my.cnf):
-
重启MariaDB服务,使配置生效:
sudo systemctl restart mariadb
-
进入MariaDB控制台并创建一个专用的复制账户:
CREATE USER 'replicator'@'%' IDENTIFIED BY 'password'; # 设置安全密码 GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%'; FLUSH PRIVILEGES;
-
锁定数据库表并查看当前二进制日志信息:
FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS;
注意记录输出中的File和position字段值。
-
释放表锁:
UNLOCK TABLES;
从服务器设置
-
编辑从服务器的配置文件(路径同上):
[mysqld] server-id = 2 relay_log = /var/log/mysql/mysql-relay-bin.log log_bin = /var/log/mysql/mysql-bin.log read_only = 1
-
重启MariaDB服务以启用新的配置参数:
sudo systemctl restart mariadb
-
连接到MariaDB,并执行以下命令来设置复制参数:
CHANGE MASTER TO MASTER_HOST='master_ip', # 输入主服务器IP地址 MASTER_USER='replicator', MASTER_PASSWORD='password', # 使用你设定的密码 MASTER_LOG_FILE='mysql-bin.000001', # 使用之前记录的File值 MASTER_LOG_POS=123; # 使用之前记录的Position值
-
启动从服务器的复制线程:
START SLAVE;
-
查询复制状态是否正常运行:
SHOW SLAVE STATUSG
确认Slave_IO_Running和Slave_SQL_Running的状态均为Yes。如果出现异常,请根据提示排查问题。
相关建议
- 保持主从服务器之间的时间一致性。
- 每个服务器的server-id必须唯一,不能重复。
- 若部署多个从节点,应确保每个节点拥有独立的server-id。
- 推荐在正式环境中采用GTID等更高级别的复制策略以增强可靠性。
按照上述流程操作后,你应该可以顺利完成MariaDB的主从架构搭建。如遇故障,请参考相关日志进行调试分析。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END