当前位置: 代码迷 >> 综合 >> 【Linux运维】mysqldump 数据库的备份
  详细解决方案

【Linux运维】mysqldump 数据库的备份

热度:112   发布时间:2023-09-22 21:06:00.0

一、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 主机上面提供服务的数据库文件