MySQL主从数据库搭建

发布时间: 2023-11-21 12:19 阅读: 文章来源:1MUMB3585PS
一、前提

1.三台服务器能相通,相互能ping的通(防火墙之类的最好都关闭)

2.三台服务器都安装好MySQL,并启动成功。

二、主从原理

1.主节点开启binlog日志(二进制存储)

2.从节点slave,在一定时间内去嗅探主节点的binlog日志,如果发现有改变,则开启一个I/O线程去请求数据

3.主节点收到请求后会开启一个dump线程去发送数据,从节点收到数据会存储在relay-log(就当成中转站),同时从节点会开启一个sql线程去解析relay-log为sql执行。

三、搭建步骤a.主库搭建

1.配置文件

#找到mysql配置文件#指定服务器唯一idserver-id=1 #设置binlog日志,设置了开启了binlog,不需要其他配置log-bin=/var/lib/mysql/mysql-bin#每次执行写入就与硬盘同步sync-binlog=1#保留3天的二进制日志expire-logs-days=3#指定不备份的数据库binlog-ignore-db=information_schemabinlog-ignore-db=performation_schemabinlog-ignore-db=sys

2.创建复制账号

mysql>CREATE USER ‘salvesync‘@‘192.168.%.%‘ IDENTIFIED BY ‘root‘; #授予同步权限mysql>grant replication slave,replication client on *.* to salvesync@‘192.168.%.%‘ identified by ‘root‘;#刷新mysql>FLUSH PRIVILEGES;

3.查看主库binlog日志状态及序号,并记录(重要)

mysql>show master status

b.从库1搭建

1.配置文件

#服务器唯一idserver-id=2#配置中继日志relay_log = mysql-relay-bin#设置只读read_only = 1#开启binlog日志(可以不开)log_bin = mysql-bin#使得更新的数据写进二进制日志中log_slave_updates = 1

2.启动从节点复制线程

mysql>change master to master_host=‘192.168.31.66‘, [你的master-ip]mysql>master_user=‘root‘,mysql>master_password=‘root‘#master_log_file=‘mysql-bin.000001‘,a-3记录的,也就是需要从主库同步日志的位置mysql>master_log_file=‘mysql-bin.000001‘,mysql>master_log_pos=413;#启动复制线程mysql>start slave;

3.查看从节点状态

mysql>SHOW SLAVE STATUS\G;

I/O线程和sql线程必须都是yes才正确启动

c.从库搭2搭建

同步骤b

d.测试主从同步

自行测试,博主测试成功了!

四、后续介绍

1.三种复制方式:异步,同步,半同步方式

2.高可用架构MHA

•••展开全文