mysql的复制技术

本文详细介绍了在MySQL中实现基本复制的三个关键步骤:配置Master服务器、创建复制用户并赋予权限,以及配置Slave服务器和连接Master。通过设置my.cnf中的参数,如log-bin、server-id等,以及创建复制用户,最终实现Slave服务器从Master服务器同步数据的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在mysql里面建立最基本的复制,可以总结为以下三个步骤:

1. 配置一个服务器作为Master;

2. 配置一个服务器作为Slave;

3. 将Slave连接到Master.


配置Master:

1. my.cnf中参数的配置

  将服务器配置为Master。要确保该服务器有一个活动的二进制日志(binary log) 和唯一的服务器ID.

 a. 要是Master上面的日志没有删除过的话,二进制日志记录了Master上面的所有改变,这些日志在Slave上面重新执行就好了。

 b. 服务器ID用于区分服务器


创建二进制日志和服务器ID 都是在my.cnf里面设置的

其他的参数在这里就不展示了

   log-bin  =               master_bin

   log-bin-index  =    master-bin.index

  server-id   =           1

log-bin选项 给出了二进制日志产生的所有文件的基本名(默认值是 主机名-bin);log-bin-index选项给出了二进制索引文件的文件名,大家都知道这个是所有二进制文件的列表。

每一个服务器都有一个唯一的 server-id 

就按照上面的配置 重启服务 mysqld service restart  使得参数生效。


2.在master上面创建复制用户  并且赋予权限

  例如:

create user reply_user;

grant reolication slave on *.* to reply_user identified by 'mypassword';


配置Slave

1. my.cnf中参数的配置

    relay-log-index   =  slave-replay-bin.index

    relay-log      =  slave-relay-bin

    server-id   =  2

  relay-log-index 选项是中继日志索引文件 ,relay-log选项是中继日志文件名。

重启服务  使得参数生效。


连接Master和Slave

首先找到Master的服务器信息  1.主机名  2.端口号(master的 my.cnf里面有) 3.Master上拥有replication slave 权限的账号和密码 (比如我们刚才建立的reply_user)

在slave上面执行建立连接的语句:


change master to

master_host = 'master_hostname',

master_port = 3306,

master_user = 'reply_user',

master_password = 'mypassword';


-- 启动复制

start slave ;

-- 查看复制的状态

show slave status\G;





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值