MySQL 主从复制搭建流程

MySQL 主从复制搭建流程

MySQL 主从复制搭建流程

介绍

MySQL主从复制是一种常见的数据库复制技术,通过将主数据库的变更操作同步到从数据库,实现数据的备份和读写分离等功能。本文将详细介绍在Linux系统下,使用MySQL进行主从复制的搭建流程。

环境准备

在开始搭建主从复制之前,我们需要准备以下环境:

  • 两台安装有MySQL的服务器,分别作为主服务器(Master)和从服务器(Slave)
  • 确保两台服务器可以相互通信
  • 主服务器上有一个待复制的数据库

主服务器配置

  1. 登录主服务器,在MySQL配置文件(通常为/etc/my.cnf或/etc/mysql/my.cnf)中添加以下配置:
[mysqld]
server-id=1
log-bin=mysql-bin
binlog-do-db=your_database_name

其中,server-id为1表示该服务器为主服务器,设置一个唯一的标识即可。

  1. 重启MySQL服务使配置生效:
sudo service mysql restart
  1. 登录MySQL服务器,创建用于复制的用户并授权:
CREATE USER 'replication'@'%' IDENTIFIED BY 'your_password';
GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%';

将your_password替换为设置的密码。

  1. 查看主服务器状态并记录下File和Position的值,以备后续使用:
SHOW MASTER STATUS;

会得到如下输出:

+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      107 | your_database |                  |
+------------------+----------+--------------+------------------+

记录下File和Position的值。

从服务器配置

  1. 登录从服务器,在MySQL配置文件中添加以下配置,并将server-id设置为2:
[mysqld]
server-id=2
  1. 重启MySQL服务使配置生效:
sudo service mysql restart
  1. 登录MySQL服务器,执行以下命令使从服务器连接到主服务器:
CHANGE MASTER TO MASTER_HOST='your_master_host', MASTER_USER='replication', MASTER_PASSWORD='your_password', MASTER_LOG_FILE='your_master_log_file', MASTER_LOG_POS=your_master_log_pos;

将your_master_host替换为主服务器的IP地址,your_password替换为之前创建复制用户时设置的密码,your_master_log_file和your_master_log_pos分别替换为主服务器上的File和Position的值。

  1. 启动从服务器的复制功能:
START SLAVE;
  1. 查看从服务器状态:
SHOW SLAVE STATUS\G

如果看到结果中的Slave_IO_RunningSlave_SQL_Running均为Yes,则表示从服务器与主服务器的复制已成功搭建。

测试主从复制

为了验证主从复制是否正常工作,可以进行一些测试。

  1. 在主服务器上创建一个测试表并插入一些数据:
CREATE TABLE test (

    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(20)
);

INSERT INTO test (name) VALUES ('Alice'), ('Bob'), ('Charlie');
  1. 在从服务器上查询该表,验证数据是否同步:
USE your_database_name;
SELECT * FROM test;

会得到与主服务器上相同的结果:

+----+---------+
| id | name    |
+----+---------+
|  1 | Alice   |
|  2 | Bob     |
|  3 | Charlie |
+----+---------+

总结

本文介绍了在Linux系统下使用MySQL进行主从复制的搭建流程。通过配置主服务器和从服务器的相关参数,并确保服务器之间可以相互通信,可以实现数据的备份和读写分离等功能。搭建完成后,可以通过测试验证主从复制是否正常工作。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程