mysql的主从复制(基于修改my.cnf实现)

本文档详细介绍了如何配置MySQL的主从复制,基于my.cnf文件进行设置。首先搭建了两台MySQL服务器,通过rsync同步数据。接着在主服务器上查看master状态,并在从服务器上设置slave,启动复制线程。最后进行测试验证了主从复制的正确性。

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

一. 实验环境的搭建

一台做为mysql主从复制的master端:192.168.0.102
另一台做为mysql主从复制的slave端:192.168.0.103

做好地址解析

二.mysql主从复制

基于二进制文件my.cnf实现

2.1 搭建两台mysql服务器

搭建第一台可查看本篇博客

第二台服务器的搭建:(可以按照第一台服务器那样搭建)

方法二:
在两台服务器中安装rsync传输插件,然后将搭建好的mysql目录用rsync传输到第二台服务器中
rsync -r /usr/local/lnmp/mysql 192.168.0.103:/usr/local/lnmp/
添加mysql用户,将bin目录写入PATH中并用source调用使其生效

运行mysqld --initialize --user=mysql生成一个临时密码
注意:这个时候会有一个报错我们只需要删除data目录即可

修改配置文件/etc/my.cnf
主服务器:

[root@mysql ~]# c
### 配置 MySQL 主从复制 #### 1. 主库配置 为了使主库能够记录所有的更改操作以便于从库可以重放这些操作,在 `my.cnf` 中需要开启二进制日志并设置唯一的 `server-id`。具体配置如下: ```ini [mysqld] server-id=1 log-bin=mysql-bin binlog-format=mixed ``` 上述配置开启了二进制日志,并设置了混合模式的日志格式,这有助于提高兼容性和安全性[^1]。 对于拥有较高并发写入需求的应用场景下,还可以考虑增加以下参数来优化性能: ```ini innodb_flush_log_at_trx_commit=2 sync_binlog=0 ``` 这两项配置可以在一定程度上减少磁盘I/O次数,从而提升性能,但需要注意的是这样做会牺牲一定的数据安全特性[^2]。 #### 2. 从库配置 同样地,从库也需要有一个唯一不同的 `server-id` 并启用中继日志功能。此外,通常建议将从库设为只读状态以防止意外的数据修改。相应的配置如下所示: ```ini [mysqld] server-id=2 relay-log=mysql-relay-bin read-only=ON ``` 这里指定了中继日志的名字以及将其设为只读模式,确保不会发生不必要的更新操作[^3]。 完成以上两步之后,还需要通过 SQL 命令告知从库连接到哪个主机作为其上游源。命令模板如下: ```sql CHANGE MASTER TO MASTER_HOST='主服务器IP地址', MASTER_USER='用于复制的用户名', MASTER_PASSWORD='对应的密码', MASTER_PORT=端口号, MASTER_LOG_FILE='指定位置处的日志文件名', MASTER_LOG_POS=具体的偏移量; ``` 此命令中的各个字段需替换为主机的实际信息,比如 IP 地址、认证凭证等。最后记得启动 slave 进程让同步正式生效[^4]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值