mysql镜像备份和同步备份_mysql 主从同步及备份
Mysql主从复制搭建
mastermysql server my.cnf配置内容如下
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
server-id = 1
port = 3306
basedir = /usr/bin
bind-address = 0.0.0.0
datadir = /var/lib/mysql
socket = /tmp/mysql.sock
log_error = /var/lib/mysql/mysql-error.log
log-bin=mysql-bin
binlog_format = ROW
innodb_buffer_pool_size = 1G
innodb_file_per_table=1
character-set-server = utf8
启动mysql,登陆数据库
mysql>CREATE DATABASE IF NOT EXISTS cattleCOLLATE = 'utf8_general_ci' CHARACTER SET = 'utf8';
mysql>GRANT ALL ON cattle.* TO'cattle'@'%' IDENTIFIED BY 'cattle';
mysql>GRANT ALL ON cattle.* TO'cattle'@'localhost' IDENTIFIED BY 'cattle';
slave mysql server my.cnf配置文件:
[client]
port = 3306
[mysqld]
server-id = 2
port = 3306
basedir = /usr/bin
bind-address = 0.0.0.0
datadir = /var/lib/mysql
socket = /tmp/mysql.sock
log_error = /var/lib/mysql/mysql-error.log
log-bin=mysql-bin
binlog_format = ROW
innodb_buffer_pool_size = 1G
innodb_file_per_table=1
character-set-server = utf8
relay-log = slave-relay-bin
log-slave-updates
sync_relay_log = 1
开启ranch server 连接外部数据库:
docker run -d --restart=unless-stopped -p8080:8080 rancher/server \
--db-host 10.0.0.53--db-port 3306 --db-user cattle --db-pass cattle --db-name cattle
Tip --db-host 10.0.0.53 master mysql serverip address
登陆rancher server: https:// 10.0.0.53:8080
Master mysql server复制账号设置:
Mysql>grant replication slave on *.* to slave@'%' identified by '123456';
备份主库数据库:
记录备份时mysql 主库备份时的log日志文件名和pos位置:
mysql>mysql> show master status\G
*************************** 1. row***************************
File: mysql-bin.000024
Position: 7187
Binlog_Do_DB: cattle
Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row in set (0.01 sec)
备份mysql主库的cattle 数据库:
mysqldump-uroot -p --opt --flush-logs --databases cattle >mysql-cattle-bak.sql
在slave 从库服务器还原:
Mysql�Curoot �Cp < mysql-fullbak-vgtest3.sql
在slave 从库执行如下命令:
mysql>CHANGE MASTER TO MASTER_HOST = '10.0.0.53', MASTER_USER = 'slave',MASTER_PORT = 3306, MASTER_PASSWORD = '123456', master_log_file='mysql-bin.000012',master_log_pos= 560332;
mysql>start slave;
mysql> show slave status\G
*************************** 1. row***************************
Slave_IO_State: Waiting formaster to send event
Master_Host: 10.0.0.53
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000025
Read_Master_Log_Pos: 14761
Relay_Log_File:slave-relay-bin.000004
Relay_Log_Pos: 14974
Relay_Master_Log_File: mysql-bin.000025
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: cattle
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 14761
Relay_Log_Space: 15228
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_UUID:6cd9cf95-7018-11e7-acf6-080027e889c6
Master_Info_File: /var/lib/mysql/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for moreupdates
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
Replicate_Rewrite_DB:
Channel_Name:
Master_TLS_Version:
1 row in set (0.00 sec)
Tip: 如果Slave_IO_Running:Yes ; Slave_SQL_Running: Yes 证明复制设置成功。
Mysql数据库备份软件xtrabackup安装
下载并安装软件安装源
wgethttps://repo.percona.com/apt/percona-release_0.1-4.$(lsb_release -sc)_all.deb
dpkg-i percona-release_0.1-4.$(lsb_release -sc)_all.deb
apt-getupdate
apt-getinstall percona-xtrabackup-24
mysql数据库的全备份:
innobackupex --defaults-file=/etc/mysql/my.cnf--user=root --password=123456 --host=10.0.0.52 --socket=/tmp/mysql.sock --no-timestamp /opt/mysqlbak
全备份恢复
停止数据库:
Servicemysql stop
删除数据库数据目录文件(比如在/var/lib/mysql):
Rm -rf/var/lib/mysql/*
使用xtrabackup恢复:
innobackupex --apply-log /opt/mysqlbak
innobackupex --defaults-file=/etc/mysql/my.cnf --copy-back /opt/mysqlbak
启动mysql:
chown -R mysql.mysql /var/lib/mysql
Service mysql start
增量备份
第一次增量备份:
innobackupex--defaults-file=/etc/mysql/my.cnf --user=root --password=123456--host=10.0.0.52 --socket=/tmp/mysql.sock --no-timestamp --incremental-basedir=/opt/mysqlbaktest/mysqlfullbak--incremental /opt/mysqlbaktest/increment1
tip: incremental-basedir: 指向全备份的目录
第2次增量备份:
innobackupex--defaults-file=/etc/mysql/my.cnf --user=root --password=123456--host=10.0.0.52 --socket=/tmp/mysql.sock --no-timestamp --incremental-basedir=/opt/mysqlbaktest/increment1--incremental /opt/mysqlbaktest/increment2
tip: incremental-basedir:指向第一次增量备份的目录。
增量备份还原
将最近一次全备数据库文件执行redo重做
innobackupex --apply-log --redo-only/opt/mysqlbaktest/mysqlfullbak
将第一次增量备份库执行redo重做并且合并到全备库中
innobackupex --apply-log --redo-only /opt/mysqlbaktest/mysqlfullbak--incremental-dir=/opt/mysqlbaktest/increment1
将最后一次增量备份日志合并到全备份库中,注意不用--redo-only
innobackupex --apply-log /opt/mysqlbaktest/mysqlfullbak--incremental-dir=/opt/mysqlbaktest/increment2
最后还原数据库:
innobackupex--copy-back /opt/mysqlbaktest/mysqlfullbak
chown -R mysql.mysql/var/lib/mysql
service mysql start
mysql镜像备份和同步备份_mysql 主从同步及备份相关推荐
- mysql+主从同步端口_MySQL主从同步配置
MySQL主从同步 1. 主从同步的定义 主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave).因为复 ...
- mysql 主从同步 速度_MySQL主从同步延迟原因及解决办法
MySQL主从同步延迟原因及解决办法 MySQL主从延迟原因以及解决方案: 谈到MySQL数据库主从同步延迟原理,得从mysql的数据库主从复制原理说起,mysql的主从复制都是单线程的操作(mysq ...
- mysql 主从同步不一致_MySQL 主从同步延迟的原因及解决办法
mysql 用主从同步的方法进行读写分离,减轻主服务器的压力的做法现在在业内做的非常普遍. 主从同步基本上能做到实时同步.我从别的网站借用了主从同步的原理图. 在配置好了, 主从同步以后, 主服务器会 ...
- mysql主从复制延时性问题_MySQL主从同步延迟原因及解决办法
MySQL主从延迟原因以及解决方案:谈到MySQL数据库主从同步延迟原理,得从mysql的数据库主从复制原理说起,mysql的主从复制都是单线程的操作(mysql5.6版本之前),主库对所有DDL和D ...
- mysql 从服务器同步设置_mysql主从同步配置
1.为什么要主从同步? 在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一.尤其是在大规模系统中,数据库集群已经成为必备的配置之一.集群的好处主要有:查询负载.数据库复制备份等.其中Ma ...
- mysql主从同步原理_mysql主从同步以及原理
mysql主从复制介绍 当前的生产工作中,大多数应用的mysql主从同步都是异步的复制方式,即不是严格实时的数据同步. 实时和异步: 同步复制: 指的是客户端连接到MySQL主服务器写入一段数据,My ...
- mysql的主从同步问题_mysql主从同步问题梳理
前言: MySQL主从复制故障机延迟原因有很多,之前详细介绍了Mysql主从复制的原理和部署过程,在mysql同步过程中会出现很多问题,导致数据同步异常.以下梳理了几种主从同步中可能存在的问题: 1) ...
- mysql设置主从同步只读_MySql主从同步设置
主MySql服务器A:192.168.1.3 从MySql服务器B:192.168.1.4 1.编辑A的my.cnf,一般在/etc/my.cnf,在[mysqld]下面添加 log-bin=mysq ...
- mysql 主从同步 工具_mysql主从同步工具maatkit安装
Maatkit是非常不错的mysql管理工具,网络评价非常不错.包含以下主要工具: 1.mk-table-checksum 检查主从表是否一致的有效工具 2.mk-table-sync 有效保证表一致 ...
最新文章
- hdu 2006 求奇数的乘积(c语言)
- oracle随机日期没有斜杠,收集awk的一些技巧,放到这里以方便今后查阅
- python学习高级篇(part2)--类方法,静态方法,访问控制
- Blazor 路由及导航开发指南
- 上车时机已到--.NETCore是适应时代发展的雄鹰利剑
- VS2008调试总结
- 最简单的CSocket通信流程
- java 字段名重复,java – JSON响应中的重复字段
- 会做饭的机器人曰记_做饭机器人作文作文300字
- RabbitMQ 功能
- 屏幕取词编程学习总结
- 极限编程(XP)简介
- 使用 LwIP TCP/IP 栈,在 STM32Cube 上开发应用
- 水滴筹、轻松筹干架,从线上到线下:员工医院互殴引围观
- 北斗由“高大上”转为“接地气” 芯片成国内智能手机标配
- html5游戏一键端,【稀有游戏】伊卡洛斯ol手工端+VM一键端+伊卡洛斯客户端
- 如何用Modis模拟WAP上网
- 嵌入式系统开发设计---嵌入式系统开发设计
- 05.ESP8266连接网络
- 极空间袁斌:存储的未来应聚焦“数字资产的安全保管