Mysql主从复制

文章详细介绍了MySQL主从复制的原理,包括主服务器记录binlog,从服务器通过IO进程读取并执行来保持数据同步。配置过程涉及设置服务器ID,启用二进制日志,创建复制用户,设置主从关系及启动复制进程。
摘要由CSDN通过智能技术生成

一、前言

MySQL主从复制是MySQL数据库管理中的一种重要技术,它可以使一个MySQL服务器向另外一个MySQL服务器自动复制数据,这个过程可以实现数据备份、数据分发以及高可用性等目的。本文将从以下几个方面详细介绍MySQL主从复制的原理、配置和常见问题解决。

二、主从复制原理

MySQL主从复制基于数据复制的概念,它需要在两个不同的MySQL服务器之间建立一个复制关系。在主从复制中,主服务器负责维护和更新数据,而从服务器则负责被动接受主服务器的数据更改。在配置主从复制时,需要在主服务器上启动一个binlog进程,将所有的数据更改操作都记录到binlog中;而从服务器则需要启动一个IO进程来从主服务器的binlog(二进制日志)中读取数据,并将数据写入到从服务器的中继日志(relay log)中;最后,从服务器需要启动一个SQL进程来读取中继日志,并执行其中的语句,从而达到与主服务器数据一致的目的。
在这里插入图片描述

三、主从复制配置

1.配置主服务器master

vim /etc/my.cnf
[mysqld]
server-id=1 #[必须]设置一个唯一的服务器ID
log-bin=mysql-bin #[必须]启用二进制日志

重启mysql

systemctl restart mysqld

可以通过下面的命令查看主库的状态

show master status;

2.配置从服务器slave

[mysqld]
server-id=2 #[必须]设置一个唯一的服务器ID

重启mysql

systemctl restart mysqld

可以通过下面的命令查看从库的状态

show slave status;

3.登录主服务的mysql

执行

GRANT REPLICATION SLAVE ON *.* to 'test'@'%' identified by '123456';

注:上面SQL的作用是创建一个用户test,密码为123456,并且给test用户授予REPLICATION SLAVE权限。常用于建立复制时所需要用到的用户权限,也就是slave必须被master授权具有该权限的用户,才能通过该用户复制。

4.设置主从关系

在从库中执行下面的命令:

CHANGE MASTER TO MASTER_HOST='192.168.1.10', MASTER_USER='test', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS= 22359;

其中MASTER_HOST为主服务器的IP地址,MASTER_USER和MASTER_PASSWORD为连接到主服务器的用户名和密码,MASTER_LOG_FILE为主服务器上的最后一个binlog文件的名称,MASTER_LOG_POS为该文件的位置。
MASTER_LOG_FILE和MASTER_LOG_POS可以通过查看主服务器上的status。
在这里插入图片描述

5.启动复制

完成主从关系的配置后,还需要启动复制进程,可以通过如下命令来启动复制:

start slave;

在mysql中执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝朽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值