mysql备份与恢复

导出所有数据库

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倍
安装


mysql备份与恢复
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 mysql备份与恢复i|gzip>/backup/mysql备份与恢复i_mysql备份与恢复binlog_rm"

凌晨1点


增量备份

!/bin/bash

cd /backup
datadir=date +"%Y-%m-%d"
mkdir -p mysql备份与恢复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 mysql备份与恢复binlog_rm'"


热备份工具:xtrabackup
安装


mysql备份与恢复

全量 备份所有

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


上一篇:【重要】阿里云 App 服务迁移通知,为了不影响使用,请您5月31日前升级至新版本


下一篇:阿里云App邀您参加有奖调研,根据您的反馈,持续优化产品和服务!