MariaDB设置主从服务器实现MySQL复制

MariaDB设置主从服务器实现MySQL复制的步骤如下:

  1. 安装MariaDB
  • 在两台服务器上分别安装MariaDB。可以使用包管理器如yum进行安装,命令为sudo yum install mariadb-server

  • 安装完成后,启动MariaDB服务,并设置开机自动启动,使用命令sudo systemctl start mariadbsudo systemctl enable mariadb

  • 运行安全配置脚本mysql_secure_installation来设置初始密码等安全措施。

  1. 配置主服务器(Master)
  • 编辑MariaDB的配置文件my.cnf,通常位于/etc/my.cnf/etc/mysql/my.cnf,在[mysqld]部分添加以下内容:

    • server_id=1:设置服务器的唯一ID。

    • log_bin=mysql-bin:开启二进制日志功能,用于记录所有修改数据的语句。

  • 重启MariaDB服务以应用配置更改。

  • 授权从服务器(Slave)访问主服务器的二进制日志文件。在主服务器上执行以下SQL命令:

    1
    2
    GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'password';
    FLUSH PRIVILEGES;
  • 查看主服务器的状态,记录FilePosition的值,从服务器将需要这些值来同步数据:

    1
    SHOW MASTER STATUS;
  1. 配置从服务器(Slave)
  • 同样需要编辑从服务器上的MariaDB配置文件my.cnf,在[mysqld]部分添加以下内容:

    • server_id=2:设置一个与主服务器不同的唯一ID。

    • relay_log_index=relay-bin.index:设置中继日志索引文件的名称。

    • relay_log=relay-bin:设置中继日志文件的名称。

  • 重启MariaDB服务以应用配置更改。

  • 在从服务器上,使用CHANGE MASTER TO命令来设置主服务器的信息:

    1
    2
    3
    4
    5
    6
    CHANGE MASTER TO
    MASTER_HOST='master_ip_address',
    MASTER_USER='slave_user',
    MASTER_PASSWORD='password',
    MASTER_LOG_FILE='file_name',
    MASTER_LOG_POS=position_number;
  • 开启从服务器的复制功能:

    1
    START SLAVE;
  • 检查从服务器的复制状态,确保一切正常:

    1
    SHOW SLAVE STATUS\G;

以上步骤是设置MariaDB主从复制的基本流程。在实际操作中,可能还需要根据具体的服务器环境和需求进行一些额外的配置和调整。此外,为了确保数据一致性和复制的稳定性,建议在正式环境中实施之前,先在测试环境中进行充分的测试。

🧑🏻‍💻

Mr. Du

前端工程师,热爱设计系统与响应式艺术。相信代码应该像水一样适应容器。