MySQL 单机主从设置教程

在数据库领域,主从复制是一个常见的需求,可以提高数据的可用性和读性能。本文将指导你如何在单机环境中设置 MySQL 的主从复制。以下是整个配置流程的步骤概述:

步骤 描述
1 安装 MySQL 数据库
2 配置主服务器
3 创建复制用户
4 配置从服务器
5 启动主从复制
6 验证复制是否正常

1. 安装 MySQL 数据库

确保你已经在你的机器上安装了 MySQL。可以通过以下命令进行安装(以 Ubuntu 为例):

sudo apt update
sudo apt install mysql-server

2. 配置主服务器

主服务器的配置主要是在 MySQL 配置文件中修改一些选项。

  • 打开 MySQL 配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
  • 修改或添加以下配置选项:
[mysqld]
server-id = 1  # 唯一的服务器 ID,主服务器为 1
log_bin = mysql-bin  # 启用二进制日志

这些配置允许 MySQL 记录更改,从而使从服务器可以进行数据同步。

3. 创建复制用户

为了让从服务器连接到主服务器,你需要创建一个专门的复制用户:

mysql -u root -p

CREATE USER 'replicator'@'%' IDENTIFIED BY 'your_password';  -- 创建用户
GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';  -- 授予复制权限
FLUSH PRIVILEGES;  -- 刷新权限

4. 配置从服务器

接下来需要配置从服务器,与你的主服务器进行连接。

  • 打开从服务器的 MySQL 配置文件并进行同样的步骤:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
  • 修改配置:
[mysqld]
server-id = 2  # 唯一的服务器 ID,从服务器为 2

5. 启动主从复制

在主服务器上,获取当前的日志文件位置,以便从服务器从该位置开始同步:

SHOW MASTER STATUS;  -- 查看当前主服务器的状态

记下 FilePosition 的值。例如,假设你得到了 mysql-bin.000001100

然后转到从服务器,连接到它并执行以下命令:

mysql -u root -p

CHANGE MASTER TO
    MASTER_HOST='主服务器IP',
    MASTER_USER='replicator',
    MASTER_PASSWORD='your_password',
    MASTER_LOG_FILE='mysql-bin.000001',  -- 替换为实际的日志文件名
    MASTER_LOG_POS=100;  -- 替换为实际的位置

START SLAVE;  -- 启动从服务器

6. 验证复制是否正常

最后,确保复制状态正常。可以在从服务器上执行:

SHOW SLAVE STATUS\G;  -- 查看复制状态

检查 Slave_IO_RunningSlave_SQL_Running 的值,如果都为 'Yes',则说明复制配置成功。

结尾

通过以上步骤,你已经成功在单机环境中设置了 MySQL 的主从复制。主从复制不仅提高了数据的可用性,还可以优化读取性能。你可以根据实际需求进行进一步的调优和配置,祝你在学习数据管理的道路上顺利前行!如果有任何疑问,随时可以提出。