备份工具
1、mysqldump
2、xtrabackup
3、select 语句部分备份
> select * from a into outfile '/testdir/a.back';
> create table b(id int);
> load data infile "/testdir/a.back" into table b;
4、cp命令或tar命令
直接对数据文件进行备份
#备份数据库所有的表
> mysqldump -uroot -h192.168.1.146 zsythink -p
#备份数据库指定的表
> mysqldump -uroot -h192.168.1.146 zsythink t1 t2 t3 -p
#备份整个数据库
> mysqldump -uroot -h192.168.1.146 --databases zsythink -p
#备份多个数据库
> mysqldump -uroot -h192.168.1.146 --databases zsythink test -p
#备份所有的库
> mysqldump -uroot -h192.168.1.146 --all-databases -p
#备份数据库中所有表的表结构,不包含表数据,不包含创建库的语句
> mysqldump -uroot -hlocalhost -d zsythink -p
#备份数据库中的test表中的表结构
> mysqldump -uroot -hlocalhost -d zsythink test -p
表使用innodb存储引擎时常用的备份语句
# 未开启二进制日志时,备份指定数据库
> mysqldump -uroot -h192.168.1.146 --single-transaction --routines --triggers --events --databases zsythink -p > zsythink.sql
#开启二进制日志时,备份指定数据库
> mysqldump -uroot -h192.168.1.146 --flush-logs --master-data=2 --single-transaction --routines --triggers --events --databases zsythink -p > zsythink.sql
#开启二进制日志时,备份所有数据库
> mysqldump -uroot -h192.168.1.146 --flush-logs --master-data=2 --single-transaction --routines --triggers --events --all-databases -p > dbbackup.sql
表使用myisam存储引擎时常用的备份语句
# 未开启二进制日志时,备份指定数据库
> mysqldump -uroot -h192.168.1.146 --routines --triggers --events --lock-tables --databases zsythink -p > zsythink.sql
#开启二进制日志时,备份指定数据库
> mysqldump -uroot -h192.168.1.146 --flush-logs --master-data=2 --routines --triggers --events --lock-tables --databases zsythink -p > zsythink.sql
#开启二进制日志时,备份所有数据库
> mysqldump -uroot -h192.168.1.146 --flush-logs --master-data=2 --routines --triggers --events --lock-all-tables --all-databases -p > dbbackup.sql
数据恢复
- 管理员账号登录
- set sql_log_bim = OFF
- \./testdir/zsythink.sql
- 进行时间点恢复