mysql全量数据复制 数据同步

https://www.cnblogs.com/linuxk/p/9372990.html

https://www.cnblogs.com/kcxg/p/11130697.html

https://www.cnblogs.com/zping/p/5588536.html

首先配置mater:

配置 my.cnf文件:

server-id = 1

log_bin=/opt/mysql/data/mysql-bin #路径自己确认

#mysql复制主要有三种方式:基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复制(mixed-based replication, MBR)。对应的,binlog的格式也有三种:STATEMENT,ROW,MIXED。

binlog_format = MIXED #以上两种模式的混合使用,一般的复制使用STATEMENT模式保存binlog,对于STATEMENT模式无法复制的操作使用ROW模式保存binlog,MySQL会根据执行的SQL语句选择日志保存方式。(可不配置)

sync_binlog = 1 #控制数据库的binlog刷到磁盘上去 , 0 不控制,性能最好,1每次事物提交都会刷到日志文件中,性能最差,最安全

expire_logs_days =7 #二进制日志自动删除/过期的天数。默认值为0,表示不自动删除。

主库不加binlog_do_db配置从库会同步主库所有库

binlog_do_db=数据库名称,多个用逗号隔开

创建用于主从同步的账户:

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

FLUSH PRIVILEGES;

配置从库slave:

server-id = 1

log_bin=/opt/mysql/data/mysql-bin #路径自己确认

read-only=1

log_slave_updates = 1 #不添加log-slave-updates参数,从库从主库复制的数据不会写入log-bin日志文件里。

数据同步:

1、锁表方式(mysqldump

https://www.cnblogs.com/kcxg/p/11130697.html

#对主库上所有表加锁,停止修改,即在从库复制的过程中主库不能执行UPDATA,DELETE,INSERT语句!

FLUSH TABLES WITH READ LOCK; 

#获取主库的日志信息,file表示当前日志文件名称,position表示当前日志的位置

SHOW MASTER STATUS;                   

#另开一个终端生成镜像,在生成完成之前不要释放锁。

mysqldump --all-databases --master-data -u root -p密码 -P 3306 > all.sql

单一数据库表备份

mysqldump -u root -p123456 --opt -R openser(表) > openser20121203.sql

#主库数据生成镜像完毕后,我们需要把主库的锁释放掉,需要注意的是,在上锁这一段期间,我们无法对数据库进行写操作,比如UPDATA,DELETE,INSERT。

UNLOCK TABLES;

然后把备份文件复制到从机 生成数据;

mysql -u root -p123456 openser < openser20121127.sql

2、不锁表方式(xtrabackup)  生成文件100多个g,大概3个小时   然从机导入大概30分钟

https://www.cnblogs.com/linuxk/p/9372990.html

2.1首先安装xtrabackup

直接rpm -Uvh *.rpm

2.2 全量备份

innobackupex --user=root --password=密码 --defaults-file=/etc/my.cnf /备份路径

2.3 把备份的文件上传到从服务器上去 并停掉MySQL服务

2.4 把从服务器上的mysql- data文件中的文件全部删除

然后执行:(默认占用内存100M可以通过--user-memory设置)

innobackupex --apply-log --user-memory=1G 文件

innobackupex --copy-back 文件

2.5 修改权限

chown -R mysql:mysql /opt/mysql/data (mysqldata路径)

2.6 重启mysql

systemctl start mysql

或者 service mysqld start

数据同步后 启动mysql主从:

首先停掉slave:stop slave 然后 同步 change 。。。 启动slave 查看slave状态  记住mysql- bin.000位置

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值