mysql 备份 和半同步
admin
2023-03-10 19:22:08
0

一,自带的软件备份mysqldump

1.mysqldump -uroot -p123456 --single-transaction --master-data=2 --all-databases > /root/date +%F.sql
--single-transaction,想当于启了镜像,数据库可正常写入。
--master-data=2 记录备份那一时刻的二进制日志的位置,并且注释掉,1是不注释的用于二进制日志恢复
--all-databases 备份全部数据库,--databases cs1 只备份cs1数据库,可以备份多个,空格隔开
如果有主从复制且是基于gtid的 要加--set-gtid-purged=off
mysql 备份 和半同步
head -30 2019-09-06.sql |grep MASTER_LOG_FILE ##查看二进制文件所在位置
mysql 备份 和半同步
2.使用二进制文件,生成恢复文件
二进制开启方法,在/etc/my.cnf 里添加 log_bin=(这里是路径名加名称),现网建议用网络盘,这个文件非常重要
先在刚才的备份过的数据里再写点数据
mysql 备份 和半同步
这里我用mysql -uroot -p123456 -e 'show master status;' 查看了二进制文件位置已经发生了变化,应为我增添了数据,我们在数据库做的操作都会记录在二进制日志文件当中,如果数据库蹦了,我们用刚才备份记录的位置对二进制文件进行恢复,就能取得刚才备份过后到数据库蹦的这一时间的数据,在加上先前的备份就可以取得完整的数据
mysqlbinlog --start-position=245 /var/lib/mysql/log_bin.000008 >logbin.sql
#指定位置,二进制文件位置,恢复到那个目录起什么名称
3.恢复数据库
mysql 备份 和半同步
2019-09-06.sql 是第一次完整备份的,先恢复这,再恢复后面二进制文件生成的备份数据。

这样就完成数据完整备份恢复了,这种自带的之适用于小型备份,1G以内的

二.使用xtrabackup做完整和增量备份

1.先安装
yum install percona-xtrabackup.x86_64 -y
#软件在epel源里,在部署好epel源
2.完整备份
innobackupex --defaults-file=/etc/my.cnf --user=root --password="" --backup /root
mysql 备份 和半同步
上图是软件正确执行的返回结果,成功后root 目录下会有个以日期命令的目录,里面就是备份了
3.增量备份
innobackupex --user=root --password= --incremental /root/ --incremental-basedir=/root/2019-09-06_11-33-50
#--incremental /root/ 指定备份的路径 --incremental-basedir= 这后面写上次备份的目录
4.对数据做同步,合并增量备份
innobackupex --apply-log --redo-only /root/2019-09-06_11-33-50/
#因为备份需要时间,备份的过程当中新的事物可能没有同步到数据里,这个命令就是把当前的新事物同步到数据里,如果是最后一个备份,可做可不做,这边后面还有一个增量备份,所用必须要做
innobackupex --incremental --apply-log --redo-only /root/2019-09-06_11-33-50/ --incremental-dir=/root/2019-09-06_11-40-39
#将后面增量备份的数据附加到完整数据里,这样完整数据就包含了第二次备份的数据了,恢复时只恢复完整数据即可,命令第一个路径是完整备份的路径
5.恢复
innobackupex --defaults-file=/etc/my.cnf --copy-back /root/2019-09-06_11-33-50/
#直接恢复完整备份即可
ps 恢复的时候,mysql的根目录不能有文件,需要删了,恢复完了注意修改属主,如果启动不起来看看sulinux 是否关闭

三.半同步

1.先配置主节点配置文件
vim /etc/my.cnf
[mysqld]
skip_name_resolve=ON ##开启跳过名称解析
innodb_file_per_table=ON ##开启独立表空间
server_id=1 ##ID 唯一
log_bin=log-bin ##开启二进制日志 必须的
rpl_semi_sync_master_enabled = ON #开机启动半同步,如果模块还没安装,先注释掉
从节点
[mysqld]
skip_name_resolve=ON
innodb_file_per_table=ON
server_id=2
relay_log=relay-log ##开启中继日志,从节点必须开的
rpl_semi_sync_slave_enabled = ON ; #开机启动半同步,如果模块还没安装,先注释掉
2.安装半同步模块
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
#安装模块
set global rpl_semi_sync_master_enabled = ON;
#设置半同步状态为启动 注意如果要让它自动启动,要把它写到配置文件里
SHOW GLOBAL VARIABLES LIKE '%semi%';
#查看状态
mysql 备份 和半同步
从节点
配置下主从
CHANGE MASTER TO MASTER_HOST='192.168.0.14', MASTER_USER='rep', MASTER_PASSWORD='123456', MASTER_LOG_FILE='log_bin.000002', MASTER_LOG_POS=245;
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
#安装从节点模块
set global rpl_semi_sync_slave_enabled = ON ;
#启动模块
SHOW GLOBAL VARIABLES LIKE '%semi%';
#看下启动模块启动状态
mysql 备份 和半同步
start slave;##启动主从复制
show slave status\G; #查看主从复制状态
3.查看状态
SHOW GLOBAL STATUS LIKE '%semi%'
mysql 备份 和半同步
status 状态 为 ON 说明 半同步配置成功

相关内容

热门资讯

台风“红霞”成为今年以来登陆我... 根据中央气象台、广东省气象台消息,今年第12号台风“红霞”的中心已于今天(26日)3时50分前后在广...
业界热议AI安全护栏升级路径 ● 本报记者 郑萃颖 近年来,人工智能(AI)技术快速发展,相关安全问题也引发各界关注。接受中国证券...
RISC-V:当开源架构遇见智... 2026年,RISC-V正站在新的历史节点。智能体的崛起、数据中心算力范式的重构,RVA23、RIS...
网络电视不小心按成蓝屏了 1、重新检查并连接好电视机的信号源输入即可。2、检测电视机的信号源输入,如线路、接口松动,则重新连接...
问问海尔的冰箱款式怎么样 最佳回答 海尔冰箱的款式还是很多的,你可以去专卖店看一看,也可以去京东上或者是天猫上看一看,京东和天...
美的中央空调面板按了没反应 美的中央空调面板按了没反应可能有多种原因,以下是一些常见的解决方法:1. 检查电源:确保空调面板已接...
爆料称一款小阔直板新机定档明年... 继华为陆续推出两款阔折叠手机产品之后,网间曾曝光过关于 @OPPO 将推出自家首款阔直板机的消息。不...
中央空调按了开关没有反应是怎么... 原因可能是因为中央空调在使用前忘记通电或者连接空调的电路老化,接触不良,可以尝试将电源通电或者更换新...
美的数控热水器开关按了没反应 先看看是否电源出现问题而导致美帝数控热水器没有通电,按了开关才会没反应。如果家里的电源有电,那么就可...
华为领衔“超节点”,这些跨界公... 文丨惠凯 编辑丨承承 算力竞争已进入“超节点”时代。在此背景下,液冷需求激增,芯片企业加速IPO,制...