博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql备份与恢复
阅读量:6240 次
发布时间:2019-06-22

本文共 1365 字,大约阅读时间需要 4 分钟。

导出所有数据库

mysqldump -q --single-transaction -A >all.sql

导出某几个数据库

mysqldump -q --single-transaction -B db1 db2 >a.sql

导出某几张表

mysqldump -q --single-transaction -B db1.a db2.c >a.sql

导出表结构

mysqldump -q -d --skip-triggers

导出存储过程

mysqldum -q -Rtdn --skip-triggers

导出触发器

mysqldump -q -tdn --skip-triggers

导出事件

mysqldump -q -Etdn --skip-triggers

导出数据

mysqldump -q --single-transaction --skip-triggers -t

建立新slave

mysqldump -q --single-transaction --master-data=2 -A>all.sql

恢复

mysql -uroot -p1222 <all.sql


mydumper 性能比mysqldump 性能快10倍

安装

img_b1e4423598aba64fc60219cd36cf0bed.png
image.png

mydumper -uroot -pxxx -B db1 db2 -o a.sql

myloader -uroot -pxx


全量备份脚本:

!/bin/bash

mkdir /backup

cd /backup
datadir=date +"%Y-%m-%d"
mkdir -p datadir/data path=/usr/local/mysql/data for i in `mysql -uroot -p123456 -e "show databases"|grep -v "Database"` do mysqldump -uroot -p123456 --default-character-set=utf8 \ -q --lock-all-tables --flush-logs -E -R --trigger -B i|gzip>/backup/datadir/data/i_datadir.sql.gz done binlog_rm=`tail -n 1 %path/mysql-bin.index|sed 's/.\///'` mysql -uroot -p123456 -e "purge binary logs to binlog_rm"

凌晨1点


增量备份

!/bin/bash

cd /backup

datadir=date +"%Y-%m-%d"
mkdir -p datadir/data path=/usr/local/mysql/data mysqladmin -uroot -p123456 flush-logs binlog_cp=`head -n -1 path/mysql-bin.index|sed 's/.///'for i in $binlog_cp do mysql -uroot -p123456 -e "\cp -p $path/$i /backup/$datadir/data/;" done binlog_rm=tail -n 1 path/mysql-bin.index|sed 's/.\///'` mysql -uroot -p123456 -e "purge binary logs to ' binlog_rm'"


热备份工具:xtrabackup

安装

img_5b411f43bd35f649f1fb9a787fc13e9c.png

全量 备份所有

innobackupex --user=root --password=123456 --defaults-file=/etc/my.cnf /bak/

备份数据库

innobackupex --user=root --password=123456 --defaults-file=/etc/my.cnf --databases=/bak/

恢复

1、mysqld stop

2、删除数据文件和事务日志文件
3、innobackupex --defaults-file=/etc/my.cnf --apply-log /bak/2013xxxxx
4、innobackupex --defaults-file=/etc/my.cnf --copy-back /bak/2013xxxx
5、chown -R mysql.mysql /usr/local/mysql/data
6、mysqld start


转载地址:http://fwcia.baihongyu.com/

你可能感兴趣的文章
perl写的tcp连接数
查看>>
Windows 7自带截图工具技巧两则
查看>>
如何规划构建一套大型的Citrix桌面虚拟化架构 - 后记
查看>>
zencart lazyload插件
查看>>
delete和delete[] 的深度思考
查看>>
linux ifconfig命令
查看>>
截杀“WannaCrypt”,终结“永恒之蓝”!
查看>>
Oracle内部视图:x$ktfbue
查看>>
【日常管理】Asm Diskgroup增加磁盘add disk
查看>>
Exadata下新建DiskGroup
查看>>
了解ocssd.bin如何控制RAC节点重启
查看>>
CentOS学习笔记 - 8. docker 编译基于gofabric8的java应用镜像
查看>>
关于ps cs6的滤镜 (抽出)
查看>>
项目版本管理(TFS)删除项目
查看>>
modprobe
查看>>
AQS实现原理及成果(有图有真相)
查看>>
js操作cookie
查看>>
access数据库注入
查看>>
MySQL + Atlas --- 部署读写分离
查看>>
Zabbix 2.2 LTS升级到Zabbix 3.0 LTS
查看>>