Ubuntu MariaDB 主从复制配置教程
一 环境准备与网络要求
二 主库 Master 配置
sudo apt update && sudo apt install mariadb-serversudo mysql_secure_installation(设置 root 密码、移除匿名用户等)server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
# 可选:仅同步指定库
# binlog_do_db = your_database_name
bind-address = 0.0.0.0
sudo systemctl restart mariadbmysql -u root -pCREATE USER 'replicator'@'%' IDENTIFIED BY 'YourStrongPass!';
GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
FLUSH PRIVILEGES;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;
UNLOCK TABLES;
三 从库 Slave 配置
sudo apt update && sudo apt install mariadb-serversudo mysql_secure_installationserver-id = 2
relay_log = /var/log/mysql/mysql-relay-bin.log
# 可选:便于排查与级联复制
log_bin = /var/log/mysql/mysql-bin.log
# 可选:仅同步指定库
# binlog_do_db = your_database_name
read_only = 1
bind-address = 0.0.0.0
sudo systemctl restart mariadbmysql -u root -pCHANGE MASTER TO
MASTER_HOST='master_ip',
MASTER_USER='replicator',
MASTER_PASSWORD='YourStrongPass!',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=488;
START SLAVE;
SHOW SLAVE STATUS\G四 验证与常见问题
-- Master
CREATE DATABASE IF NOT EXISTS test_repl;
USE test_repl;
CREATE TABLE t(id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50));
INSERT INTO t(name) VALUES ('alice'), ('bob');
-- Slave
SELECT * FROM test_repl.t;
SHOW MASTER STATUS 后 STOP SLAVE; CHANGE MASTER TO ...; START SLAVE;)。五 进阶与扩展