MariaDB在Linux上的复制功能可以通过以下步骤实现:
安装MariaDB:
配置主服务器:
my.cnf(或my.ini)文件。[mysqld]
server-id = 1 # 主服务器的唯一ID
log_bin = /var/log/mysql/mysql-bin.log # 二进制日志文件路径
binlog_do_db = mydb # 需要复制的数据库名称
配置从服务器:
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 # 可选,用于从服务器的二进制日志
read_only = 1 # 设置为只读模式
在主服务器上创建一个用于复制的用户,并授予相应的权限:
CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
FLUSH PRIVILEGES;
在主服务器上执行以下命令,获取当前的二进制日志文件名和位置:
SHOW MASTER STATUS;
记下File和Position的值。
在从服务器上执行以下命令,配置复制连接:
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中指定多个数据库名称,用逗号分隔。binlog_do_db = ''。通过以上步骤,你可以在Linux上成功配置MariaDB的主从复制功能。