创建以下表
创建普通用户backup并给权限
备份数据库school到/backup目录
mysqldump -u backup -p school > /backup/school.sql
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库
mysqldump -u backup -p --add-drop-database mysql > /backup/mysql.sq
直接将MySQL数据库压缩备份
mysqldump -u backup -p mysql | gzip > /backup/mysql.sql.gz
备份MySQL数据库某个(些)表。此例备份student表
mysqldump -u backup -p school student > /backup/student.sql
同时备份多个MySQL数据库(其他数据库素材自行准备
mysqldump -u backup -p -B mysql5 mysql6 mysql7 > /backup/many_mysql.sq
-B 作用:创建数据库和切换到数据库,恢复时不用创建数据库和删表。备份多个库,-B 数据库1 数
据库2
仅仅备份数据库结构
mysqldump -u backup -p -d school > /backup/school1.sql
-d:只备份库结构,不包含数据内容
备份服务器上所有数据库
mysqldump -u backup -p --all-databases > /backup/all_mysql.sql
-all: 备份所有数据库
还原MySQL数据库
先删除mysql数据库
drop databases mysql;
然后还原
mysql -u root -p -B mysql < /backup/mysql.sql
还原压缩的MySQL数据库
先删除mysql数据库
解压还原
gunzip < /backup/mysql.sql.gz | mysql -uroot -p mysql
使用xtrabackup 备份数据库
xtrabackup 备份数据库,实现完全热备份与增量热备份
Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工
具InnoDB Hotbackup的一个很好的替代品。
Xtrabackup有两个主要的工具:xtrabackup、innobackupex
xtrabackup 只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表。
innobackupex 是参考了InnoDB Hotbackup的innoback脚本修改而来的.innobackupex是一个perl脚
本封装,封装了xtrabackup。主要是为了方便的同时备份InnoDB和MyISAM引擎的表,但在处理myisam时
需要加一个读锁。并且加入了一些使用的选项。如slave-info可以记录备份恢复后作为slave需要的一些信
息,根据这些信息,可以很方便的利用备份来重做slave。
备份数据库
nnobackupex --user=root --password=root --defaults-file=/etc/my.cnf --databases="school"
/backup/
使用mydumper备份数据库
mydumper -u backup -p redhat -b school -o /backup/school3.sql
使用mydumper恢复数据库
先删除数据库school
mysql -uroot -predhat -e 'drop database school'
还原
myloader -u root -p redhat -d /backup/school3.sql -o -B school