MySQL主从复制搭建
admin
2023-04-16 22:21:31
0

mysql安装点击此处

MySQL主从介绍

MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步。
MySQL主从是基于binlog的,主上须开启binlog才能进行主从。

指定数据库同步操作:
环境说明:需求是创建主从复制环境,要求master端只同步主库中的test库到 slave端

master端IP:10.10.10.1 slave端IP:10.10.10.2

主从复制条件:

1.开启主库binlog功能
2.开启主从库server-id
3.确保主从配置文件my.cnf所有server-id不同
4.主库建立同步的账户rep并且授权replication
5.在主库锁表flush tables with read lock; 并查看主库上binlog文件及位置点
show master status\G;记录下此binlog文件和位置点。
6.在master端新开mysql窗口导出全备,恢复备份数据到从库,
7.登录从库,CHANGE MASTER TO…..
自动在从库生成配置文件master.info
打开复制开关start slave;show slave status\G
8.解锁,开放用户写入功能

操作过程:
主库my.cnf配置文件件参数:

vi /etc/my.cnf

server-id=1111 (和从库不同即可)
log-bin=mysql-bin (开启binlog)
binlog-do-db=数据库名称 (记录指定库的binlog,模式不同,记录结果不同。)
binlog_format=mixed (设置binlog模式)
expire_logs_days = 7 (保留7天的binlog)

重启master端mysql

centos 6:
/etc/init.d/mysql restart
centos 7:
systemctl restart mysql

从库my.cnf配置文件件参数:

vim /etc/my.cnf
server-id=2222 (从库的ID,和主库不冲突即可)

重启slave端mysql

centos 6:
/etc/init.d/mysql restart
centos 7:
systemctl restart mysql

一.master 上操作:

主库建立同步的账户rep并且授权replication;在主库锁表flush tables with read lock; 并查看主库上binlog文件及位置点

show master status\G;记录下此binlog文件和位置点。
mysql -uroot -p'数据库密码' -e "grant replication slave on *.* to rep@'10.10.10.2' identified by 'rep@back123'; flush privileges;flush tables with read lock; show master status;"

备份指定数据库数据

mysqldump -uroot -p'数据库密码' -B 数据库名称 --single-transaction --events|gzip >/root/数据库名称_$(date +%F).sql.gz (输出压缩的sql文件)

mysqldump -uroot -p'数据库密码' -B 数据库名称 --single-transaction --events >/root/数据库名称_$(date +%F).sql (输出sql文件)

传输数据到slave端从库机器

scp -rp -P ssh服务端口 sql文件名称 root@从库IP:/root/

二.slave上操作:

登陆从库:

gzip -d test.sql.gz; source /root/test.sql; 
stop slave;
reset slave all;

stop slave;
CHANGE MASTER TO
MASTER_HOST='主库地址',
MASTER_PORT=3306, ------->端口
MASTER_USER='新建数据库用户',
MASTER_PASSWORD='新建用户的密码',
MASTER_LOG_FILE='日志文件名称',
MASTER_LOG_POS=日志的Position值;

start slave;show slave status\G;

三.最后在master上执行解锁操作:

unlock tables;

到此处配置完成:

在master上创建测试表测试:

同步单个数据库可以在主服务器或者从服务器上配置:

主服务器:
binlog-do-db=    仅同步指定的库
binlog-ignore-db=    忽略指定的库

从服务器:
replicate_do_db=   同步指定的库
replicate_ignore_db=   忽略指定的库
replicate_do_table=   同步指定的表
replicate_ignore_table=   忽略指定的表

replicate_wild_do_table= 如aming.%,支持通配符 
replicate_wild_ignore_table=

主从过程

主将更改操作记录到binlog中
从将主的binlog事件(SQL语句)同步到本机并记录在relaylog中
从根据relaylog里面的SQL语句按顺序执行

说明: 该过程有三个线程,主上有一个log dump线程,用来和从的i/o线程传递binlog;从上有两个线程,其中i/o线程用来同步主的binlog并生成relaylog,另外一个SQL线程用来把relaylog里面的SQL语句落地。

应用环境

备份重要数据
分担主库数据读取压力

相关内容

热门资讯

英国首相斯塔默再遭逼宫,在内阁... 【文/观察者网 熊超然】在上周经历地方选举惨败后,作为执政党领袖的英国首相斯塔默于当地时间5月11日...
日防相声称:新西兰考虑进口日本... 据凤凰卫视报道,5月12日,日本防卫大臣小泉进次郎在记者会上表示,新西兰已将日本海上自卫队最上型改良...
小米YU7 GT“车厘子红”无... 5 月 12 日消息,博主 @王的男人、昨日晒出了小米 YU7 GT「车厘子红」实车照片。画面显示,...
中关村论坛重磅发布!大兴机场临... 3月27日,在中关村论坛数据跨境流动创新发展论坛上,北京大兴国际机场临空经济区(大兴)正式发布跨境可...
白宫公布随特朗普访华16位商界... 白宫11日公布了将随特朗普一同访华的商界领袖名单。据多家美媒报道,总共将有16位美国商界代表来到北京...
荣耀申请代码生成方法专利,提高... 国家知识产权局信息显示,南京荣耀软件技术有限公司申请一项名为“代码生成方法、电子设备及存储介质”的专...
凤凰连线:中美新一轮经贸磋商,... 中美双方将在韩国举行第七轮经贸磋商。美方的阵容和日程安排如何?在这轮磋商中有哪些关切?凤凰卫视驻韩国...
知情人士:阿联酋秘密打击伊朗,... 据参考消息援引美国《华尔街日报》网站5月11日报道,多名知情人士透露,阿联酋已对伊朗发动军事打击,令...
美防长称美伊停火协议依然有效 △赫格塞思(资料图)当地时间5月12日,美国国防部长赫格塞思表示,他们针对伊朗问题的所有情况都制定了...
特朗普二度来华,五大博弈看点,... 就在5月11日,外交部官宣了一则重磅消息:应中国邀请,美国总统特朗普将于5月13日至15日开启访华行...