一、mysqldump
1、其为数据库逻辑备份程序,可对一个或多个 MySQL 数据库进行备份或将数据库传输至其它 MySQL 服务器。(不适用于大数据备份)
对大规模数据备份与还原,使用物理备份会更适合,通过直接复制数据文件,即可实现快速的数据还原工作。
如:企业版的 MySQL:mysqlbackup工具
# 备份数据库中的某些数据表
mysqldump [选项] db_name [table_name]# 备份整个数据库
mysqldump [选项] --database db_name ...# 备份 MySQL 系统中的所有数据库
mysqldump [选项] --all-databases
2、命令范例:
# 备份所有数据库
mysqldump -u root -p --all-databases > all_database_sql# 备份 mysql 数据库
mysqldump -u root -p --database mysql > mysql_database_sql# 备份 mysql 数据库下的 user 数据包:
mysqldump -u root -p mysql user > user_table### 使用 all_database_sql 数据库备份文件还原数据库
mysql -u root -p < all_database_sql### 使用 mysql_database_sql 数据库备份文件还原数据库
mysql -u root -p < mysql_database_sql### 使用 user_table 数据库备份文件还原数据表
mysql -u root -p mysql < user_table
3、ps:对于数据库的备份,可采用 tar 命令,例如:
tar -cvjp -f mysql.`date +%Y-%m-%d`.tar.bz2 /var/lib/mysql
# tar 命令解释:
# -c,新建打包文件,搭配 -v 来查看过程中被打包的文件名
# -j,通过 bzip2 的支持进行压缩/解压缩,此时文件名最好为 *.tar.bz2
# -p,保留备份数据的原本权限与属性
# -f filename,-f后面接被处理的文件名# -P,保留绝对路径,即允许备份数据中含有根目录存在之意
# -z,通过 gzip 的支持进行压缩/解压缩,此时文件名最好为 *.tar.gz
# -x,解打包或解压缩
Linux 数据:
关键数据备份(源于对《鸟哥Linux私房菜基础学习篇(第三版)的内容整理》)
(1)系统基本设置信息
① 整个目录 /etc (系统配置文件目录,存储 Linux 默认的重要参数文件)
② 整个目录 /home (主目录,Linux在这创建用户目录)
③ 目录 /var/spool/mail (存放 mail 日志)
④ 整个目录 /boot (如果改过内核信息,此目录需备份)
⑤ 整个目录 /root (根主目录)
⑥ 如若自行安装过其他的套件,建议最好备份一下 /usr/local/ 或 /opt
(2)类似网络服务的内容数据
① 软件本身的配置文件。如:整个目录 /etc、/usr/local
② 软件服务提供的数据,以 WWW 及 MySQL 为例:
- WWW 数据:整个目录 /var/www 或 /srv/www, 及系统的用户主文件夹
- MySQL:整个目录 /var/lib/mysql
③ 其他在 Linux 主机上面提供服务的数据库文件