在MySQL数据库中,主从复制是一种常用的配置方式,用于实现数据的冗余备份和读写分离。以下是MySQL主从复制的配置步骤:

  1. 配置主服务器(Master):

    • 编辑主服务器的配置文件('my.cnf'或'my.ini'),启用二进制日志(binary logging)功能,添加以下配置:
      [mysqld]
      server-id = 1
      log-bin = mysql-bin
      
  2. 重启主服务器。

  3. 创建用于复制的MySQL账号:

    • 连接到主服务器的MySQL命令行客户端并执行以下命令:
      CREATE USER 'replication_user'@'slave_ip' IDENTIFIED BY 'password';
      GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'slave_ip';
      FLUSH PRIVILEGES;
      
  4. 备份主服务器的数据:

    • 在主服务器上执行FLUSH TABLES WITH READ LOCK;命令,暂停写入操作。
    • 通过适当的方式备份主服务器上的数据。
  5. 获取主服务器的二进制日志位置信息:

    • 在主服务器的MySQL命令行客户端执行以下命令,并记录'File'和'Position'的值:
      SHOW MASTER STATUS;
      
  6. 配置从服务器(Slave):

    • 编辑从服务器的配置文件,添加以下配置:
      [mysqld]
      server-id = 2
      
  7. 重启从服务器。

  8. 在从服务器上启动复制进程:

    • 在从服务器的MySQL命令行客户端执行以下命令:
      CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='master_log_file', MASTER_LOG_POS=master_log_pos;
      

    其中,'master_ip'是主服务器的IP地址,'replication_user'是在第3步中创建的复制账号,'password'是密码,'master_log_file'和'master_log_pos'是在第5步中获取的二进制日志位置信息。

  9. 启动从服务器上的复制进程:

    • 在从服务器的MySQL命令行客户端执行以下命令:
      START SLAVE;
      
  10. 检查复制状态:

    • 在从服务器的MySQL命令行客户端执行以下命令,确保'Slave_IO_Running'和'Slave_SQL_Running'的值都为'Yes':
      SHOW SLAVE STATUS\G
      

完成以上步骤后,MySQL主从复制就配置完成了。从服务器将自动从主服务器复制数据,并保持与主服务器的同步。您可以使用从服务器进行读操作,从而实现读写分离和负载均衡。请注意,主从复制的配置还涉及到网络、防火墙和安全相关的考虑,因此在实际操作中请谨慎配置和注意安全性。

MySQL主从复制配置教程:实现数据备份和读写分离

原文地址: https://www.cveoy.top/t/topic/bJTJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录