MariaDB的复制功能可以通过以下步骤进行配置:
my.cnf(或my.ini)文件,添加以下配置:[mysqld]
server-id = 1 # 唯一的服务器ID
log_bin = /var/log/mysql/mysql-bin.log # 二进制日志文件路径
binlog_do_db = mydb # 需要复制的数据库名称(可选)
sudo systemctl restart mariadb
CREATE USER 'replicator'@'%' IDENTIFIED BY 'password'; # 替换为实际密码
GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
FLUSH PRIVILEGES;
SHOW MASTER STATUS;
记下File和Position的值,稍后会在从服务器上使用。
my.cnf(或my.ini)文件,添加以下配置:[mysqld]
server-id = 2 # 唯一的服务器ID,与主服务器不同
relay_log = /var/log/mysql/mysql-relay-bin.log # 中继日志文件路径
log_bin = /var/log/mysql/mysql-bin.log # 二进制日志文件路径(可选)
binlog_do_db = mydb # 需要复制的数据库名称(可选)
sudo systemctl restart mariadb
CHANGE MASTER TO
MASTER_HOST='master_ip', # 替换为主服务器的IP地址
MASTER_USER='replicator',
MASTER_PASSWORD='password', # 替换为实际密码
MASTER_LOG_FILE='mysql-bin.000001', # 替换为主服务器上记录的二进制日志文件名
MASTER_LOG_POS=123; # 替换为主服务器上记录的二进制日志位置
START SLAVE;
SHOW SLAVE STATUS\G
确保Slave_IO_Running和Slave_SQL_Running都显示为Yes。如果有任何错误,请根据错误信息进行排查。
binlog_do_db参数中指定多个数据库名称,用逗号分隔。通过以上步骤,您应该能够成功配置MariaDB的复制功能。如果在配置过程中遇到问题,请参考MariaDB官方文档或寻求社区支持。