linux

MariaDB在Linux上的复制功能如何实现

小樊
56
2025-09-18 18:31:18
栏目: 云计算

MariaDB在Linux上的复制功能可以通过以下步骤实现:

一、准备工作

  1. 安装MariaDB

    • 在主服务器和从服务器上都安装MariaDB。
  2. 配置主服务器

    • 编辑主服务器的my.cnf(或my.ini)文件。
    • 添加或修改以下配置项:
      [mysqld]
      server-id = 1  # 主服务器的唯一ID
      log_bin = /var/log/mysql/mysql-bin.log  # 二进制日志文件路径
      binlog_do_db = mydb  # 需要复制的数据库名称
      
  3. 配置从服务器

    • 编辑从服务器的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;

记下FilePosition的值。

四、配置从服务器连接到主服务器

在从服务器上执行以下命令,配置复制连接:

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_RunningSlave_SQL_Running两个字段是否都为Yes。如果是,则表示复制正常运行。

注意事项

通过以上步骤,你可以在Linux上成功配置MariaDB的主从复制功能。

0
看了该问题的人还看了