采用xtrabackup部署主从同步
1.停掉从库192.168.1.23
[root@dev-env23 tmp]# service mysqld stop
Stopping mysqld: [ OK ]
2.主库全备份
cd /opt/xtrabackup247/bin
./innobackupex --defaults-file=/etc/my.cnf --user=root --socket=/var/lib/mysql/mysql.sock --password=yeemiao1117 -P3306 /opt/xtrabackup_file/
备份完成后会有提示ok,如下:
190124 10:50:07 Executing UNLOCK TABLES
190124 10:50:07 All tables unlocked
190124 10:50:07 Backup created in directory '/opt/xtrabackup_file/2019-01-24_10-46-06/'
MySQL binlog position: filename 'binlog.000011', position '587445616'
190124 10:50:07 [00] Writing backup-my.cnf
190124 10:50:07 [00] ...done
190124 10:50:07 [00] Writing xtrabackup_info
190124 10:50:07 [00] ...done
xtrabackup: Transaction log of lsn (296778142671) to (296778142701) was copied.
190124 10:50:07 completed OK!
完成备份后会以日期生成备份目录,我们把该目录tar并scp到远程备份服务器
[root@dev-env-22 xtrabackup_file]# tar -cvf /home/xtrabackup0124.tar ./2019-01-24_10-46-06/
[root@dev-env-22 home]# scp xtrabackup0124.tar root@192.168.1.23:/home/
----------------------------备库恢复------------------------
1.备库解压缩
[root@dev-env23 home]# cd /home
[root@dev-env23 home]# tar -xvf xtrabackup0124.tar
2.清空原来的数据文件目录和日志目录
查看/etc/my.cnf配置文件找到数据文件目录
datadir=/home/mysql/data
relay_log=/home/mysql/logs/relay-bin
我这里是采用重建目录的方式
[root@dev-env23 mysql]# mv data bakdata
[root@dev-env23 mysql]# mkdir data
[root@dev-env23 mysql]# mv logs baklogs
[root@dev-env23 mysql]# mkdir logs
3.恢复(备库也事先安装好xtrabackup软件)
cd /opt/xtrabackup247/bin
./innobackupex --defaults-file=/etc/my.cnf --user=root --apply-log /home/2019-01-24_10-46-06
这步完成后也有ok提示
xtrabackup: starting shutdown with innodb_fast_shutdown = 1
InnoDB: FTS optimize thread exiting.
InnoDB: Starting shutdown...
InnoDB: Shutdown completed; log sequence number 296778145738
190124 11:08:12 completed OK!
./innobackupex --defaults-file=/etc/my.cnf --user=root --copy-back --rsync /home/2019-01-24_10-46-06
完成后有ok提示
190124 11:11:58 [01] ...done
190124 11:11:58 completed OK!
4.修改权限
[root@dev-env23 mysql]#cd /home/mysql
[root@dev-env23 mysql]#chown -R mysql:mysql ./data
[root@dev-env23 mysql]#chown -R mysql:mysql ./logs
5.启动数据库
[root@dev-env23 mysql]# service mysqld start
190124 11:14:14 mysqld_safe error: log-error set to '/home/mysql/logs/mysqld.log', however file don't exists. Create writable for user 'mysql'.
MySQL Daemon failed to start.
Starting mysqld: [FAILED]
[root@dev-env23 mysql]#
提示没有mysqld.log日志文件,创建即可
[root@dev-env23 mysql]# cd /home/mysql/logs
[root@dev-env23 logs]# echo>mysqld.log
[root@dev-env23 logs]# chown mysql:mysql mysqld.log
再次启动
[root@dev-env23 logs]# service mysqld start
Starting mysqld: [ OK ]
[root@dev-env23 logs]#
6.找到主从同步的参数值
master_log_file和master_log_pos
这两个参数可以在xtrabackup备份目录下的文件中查找到
[root@dev-env23 data]# cd /home/2019-01-24_10-46-06
[root@host02 2017-09-18_15-53-15]# more xtrabackup_binlog_info
[root@dev-env23 2019-01-24_10-46-06]# more xtrabackup_binlog_info
binlog.000011 587445616
7.执行主从复制
[root@dev-env23]# mysql -h localhost -uroot -pyeemiao1117
change master to master_host='192.168.1.22',
master_port=3306,
master_user='repl',
master_password='repl',
master_log_file='binlog.000011',
master_log_pos=587445616;
8.启动复制
start slave
采用xtrabackup部署主从同步的更多相关文章
- 基于xtrabackup的主从同步
基于xtrabackup的主从同步 作者 刘畅 时间 2020-9-21 服务器版本:CentOS Linux release 7.5.1804 主机名 ip地址 服务器配置 安装软件 密码 mysq ...
- mysql主从同步与读写分离
为了解决数据库服务的高可用问题以及负载均衡问题, 1正常情况下可以互为主从,均衡分担数据流量, 2防止数据库服务器在宕机的情况下可以顺利切换到正常的数据库服务器,减少公司的客户流量损失故公司需要搭建数 ...
- Mysql主从同步(1) - 概念和原理介绍 以及 主从/主主模式 部署记录
Mysql复制概念Mysql内建的复制功能是构建大型高性能应用程序的基础, 将Mysql数据分布到多个系统上,这种分布机制是通过将Mysql某一台主机数据复制到其它主机(slaves)上,并重新执行一 ...
- 部署mysql主从同步
mysql-day06 部署mysql主从同步 案例拓扑 • 一主.一从 – 单向复制时,建议将 ...
- 通过 XtraBackup 实现不停机不锁表搭建主从同步
简介 Xtrabackup是由 Percona 开发的一个开源软件,可实现对 InnoDB 的数据备份,支持在线热备份(备份时不影响数据读写).备份时,Xtrabackup 会将 Master 的 b ...
- MySQL主从同步原理 部署【转】
一.主从的作用:1.可以当做一种备份方式2.用来实现读写分离,缓解一个数据库的压力二.MySQL主从备份原理master 上提供binlog ,slave 通过 I/O线程从 master拿取 bin ...
- XtraBackup做mysql主从同步
一.背景: 线上一个主库压力比较大,所以增加一个从库,但是不能重启或者停止主库的正常运行,不能锁库锁表影响业务的正常运行.所以这里想到了XtraBackup 二.XtraBackup介绍: Xtrab ...
- MySQL面试题中:主从同步部署介绍
主从同步部署1.两台相同版本的mysql数据库,一台做主库,一台从库 主库开启binlog 在配置文件中的[mysqld]模块中添加log-bin=mysql-bin和server-id=1,一定要保 ...
- xtrabackup备份MySQL并主从同步
为什么要使用xtarbackup? mysqldump备份数据库的时候,会锁库锁表,导致业务服务的暂时停滞,数据库数量小还没有感觉,当数据超过几个G的时候,使用mysqldump会严重影响服务器性能, ...
随机推荐
- System.InvalidOperationException:“线程间操作无效: 从不是创建控件“txtPortName02”的线程访问它。”
“System.InvalidOperationException”类型的未经处理的异常在 System.Windows.Forms.dll 中发生 其他信息: 线程间操作无效: 从不是创建控件“tx ...
- 接口自动化测试 (三)request.post
上一节介绍了 requests.get() 方法的基本使用,本节介绍 requests.post() 方法的使用: 本文目录: 一.方法定义 二.post方法简单使用 1.带数据的post 2 ...
- MultipartFile实现文件上传
一.主要有两个java类,和一般的servlet放在一起即可. 1.FileUploadBean.java package chb.demo.web;import org.springframewor ...
- Spring boot Mybatis 整合(完整版)
个人开源项目 springboot+mybatis+thymeleaf+docker构建的个人站点开源项目(集成了个人主页.个人作品.个人博客) 朋友自制的springboot接口文档组件swagge ...
- php钩子原理和实现
2017年3月18日17:22:52 php版本 5.6.27 5.3以下和5.3以上的版本在PHP类与对象区别很大,请注意 其实原理很简单,有些人把事情弄的过于发杂,其实就是调用某个目录下的比如/h ...
- H5 C3
为什么学习HTML5 a.因为语义化标签的出现网页结构更加清晰 b.因为多媒体的出现,让网页播放音频和视频没有了依赖 c.因为CSS3的出现,让页面变得更加炫酷和多彩 d.因为新的API的出现,使的开 ...
- Web开发——HTML DOM基础
文档资料参考: 参考:HTML DOM 参考手册 参考:HTML DOM 教程 目录: 1.HTML DOM (文档对象模型) 2.查找 HTML 元素 2.1 通过 id 查找 HTML 元素 2. ...
- linux之tail和head的使用
tail 基本介绍 用于显示文件的结尾的内容.在默认情况下,taild命令显示文件的后10行内容 表达式 tail [options] [filenames] 常用参数 -c:输出最后N个字节 -f: ...
- RoR - Introduction to Active Record
Active Record: ORM ( Object-relational Mapping)Bridges the gap between relational databases , which ...
- android AsyncTask异步任务(笔记)
AsyncTask是一个专门用来处理后台进程与UI线程的工具.通过AsyncTask,我们可以非常方便的进行后台线程和UI线程之间的交流. 那么AsyncTask是如何工作的哪. AsyncTask拥 ...