CentOS7数据库备份实操指南
centos7如何备份数据库

首页 2025-04-02 02:16:01



CentOS 7 数据库备份全攻略 在CentOS 7操作系统上备份数据库是确保数据安全、防范数据丢失的重要措施

    无论是MySQL、PostgreSQL等关系型数据库,还是达梦数据库等国产数据库,都需要定期进行备份

    本文将详细介绍如何在CentOS 7上备份各类数据库,并提供实用的脚本和工具,以确保您的数据得到妥善保护

     一、备份前的准备 在进行数据库备份之前,需要做好以下准备工作: 1.确认数据库状态:确保数据库运行正常,没有异常报错

     2.选择备份工具:根据数据库类型选择合适的备份工具,如mysqldump用于MySQL数据库,pg_dump用于PostgreSQL数据库,达梦数据库的DMRMAN工具等

     3.确定备份路径:选择一个安全可靠的存储路径,可以是本地磁盘、外部硬盘、网络存储设备或云存储服务

     4.制定备份策略:根据业务需求制定备份策略,包括备份频率、备份类型(全量备份、增量备份)、备份保留时间等

     二、MySQL数据库的备份与恢复 MySQL是CentOS 7上常用的关系型数据库,其备份和恢复操作主要通过mysqldump工具实现

     1.安装MySQL 如果尚未安装MySQL,可以使用以下命令进行安装: bash sudo yum install mysql-server sudo systemctl start mysqld sudo systemctl enable mysqld 2.使用mysqldump进行备份 mysqldump是MySQL自带的备份工具,可以将数据库中的数据导出为SQL文件

    以下是基本的备份命令: bash mysqldump -u【用户名】 -p 【数据库名】 >【备份文件名】.sql 例如,备份名为my_database的数据库: bash mysqldump -u root -p my_database > my_database_backup.sql 系统会要求输入MySQL的密码,成功执行后,将在当前目录下生成my_database_backup.sql文件

     3.备份所有数据库 如果需要备份所有数据库,可以使用--all-databases选项: bash mysqldump -u root -p --all-databases >all_databases_backup.sql 4.备份并压缩数据库 为了节省存储空间,可以将备份文件进行压缩

    使用gzip命令可以实现这一目的: bash mysqldump -u root -p my_database | gzip > my_database_backup.sql.gz 5.恢复备份 使用mysql命令可以将备份的SQL文件导入到数据库中: bash mysql -u【用户名】 -p 【数据库名】 <【备份文件名】.sql 例如,恢复my_database数据库: bash mysql -u root -p my_database < my_database_backup.sql 6.自动化备份脚本 为了实现自动化备份,可以编写一个Shell脚本,并使用cron作业定期运行

    以下是一个示例脚本: bash !/bin/bash db_name=my_database 修改为要备份的数据库名 backup_dir=/data/backup/mysql/ 修改为备份文件存储路径 current_time=$(date +%Y-%m-%d_%H%M%S) filepath=$backup_dir$current_time.sql.gz 导出数据库并压缩 mysqldump --defaults-extra-file=/data/backup/my_mysql.cnf $db_name --net-buffer-length=10m | gzip > $filepath 日志记录 echo【$current_time】 数据库 $db_name 备份成功,文件名为: $filepath ] /data/backup/mysql/backup.log 其中,my_mysql.cnf文件包含数据库连接信息,如用户名、密码、主机地址等

    确保该文件的权限设置正确,避免泄露敏感信息

     然后,使用crontab -e命令添加定时任务,如每天凌晨2点执行备份脚本: bash 0 2 - /path/to/backup_script.sh 三、PostgreSQL数据库的备份与恢复 PostgreSQL是另一种常用的关系型数据库,其备份和恢复操作可以通过pg_dump工具实现

     1.使用pg_dump进行备份 pg_dump是PostgreSQL自带的备份工具,可以将数据库中的数据导出为SQL文件或自定义格式的文件

    以下是基本的备份命令: bash pg_dump -U【用户名】 -F c -b -v -f【备份文件名】.backup 【数据库名】 其中,-U指定用户名,-F指定输出格式(c为自定义格式,p为纯文本格式),-b包含大对象,-v显示详细信息,-f指定输出文件名

     例如,备份名为my_postgres的数据库: bash pg_dump -U postgres -F c -b -v -fmy_postgres_backup.backup my_postgres 2.恢复备份 使用pg_restore工具可以将备份文件恢复到数据库中: bash pg_restore -U【用户名】 -d 【数据库名】 -v 【备份文件名】.backup 例如,恢复my_postgres数据库: bash pg_restore -U postgres -d my_postgres -vmy_postgres_backup.backup 注意,如果数据库不存在,需要先创建数据库再执行恢复操作

     3.自动化备份 同样,可以编写Shell脚本并使用cron作业实现自动化备份

    具体步骤与MySQL数据库的自动化备份类似

     四、达梦数据库的备份与恢复 达梦数据库(DM)是国产数据库的一种,其备份和恢复操作可以通过DMRMAN工具或命令行实现

     1.物理备份 物理备份是拷贝数据文件中的有效数据页,包括热备(联机备份)和冷备(脱机备份)

     -冷备:关闭数据库后进行备份

    使用DMRMAN工具或命令行都可以实现

     例如,使用DMRMAN工具进行冷备: ```bash RMAN> backup database /path/to/dm.ini full to FULLBACK_DMRMAN backupset /path/to/backup/fullback_dmrman; ``` -热备:数据库开启状态下进行备份

    需要开启归档模式,并使用SQL语句或DM管理工具进行备份

     例如,使用SQL语句进行热备: ```sql backup database; backup database increment; ``` 2.逻辑备份 逻辑备份是导出表的结构和数据insert语句等

    在数据库联机状态下使用dexp工具导出,使用dimp工具导入

     -导出: ```bash ./dexp KEYWORD=value ``` 例如,导出整个数据库: ```bash ./dexp USERID=SYSDBA/SYSDBA@localhost:5236 FULL=Y DIRECTORY=/path/to/export FILE=full_export.dmp LOG=export.log ``` -导入: ```bash ./dimp KEYWORD=value ``` 例如,导入整个数据库: ```bash ./dimp USERID=SYSDBA/SYSDBA@localhost:5236 FULL=Y DIRECTORY=/path/to/import FILE=full_export.dmp LOG=import.log ``` 3.

MySQL连接就这么简单!本地远程、编程语言连接方法一网打尽
还在为MySQL日期计算头疼?这份加一天操作指南能解决90%问题
MySQL日志到底在哪里?Linux/Windows/macOS全平台查找方法在此
MySQL数据库管理工具全景评测:从Workbench到DBeaver的技术选型指南
MySQL密码忘了怎么办?这份重置指南能救急,Windows/Linux/Mac都适用
你的MySQL为什么经常卡死?可能是锁表在作怪!快速排查方法在此
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
清空MySQL数据表千万别用错!DELETE和TRUNCATE这个区别可能导致重大事故
你的MySQL中文排序一团糟?记住这几点,轻松实现准确拼音排序!
别再混淆Hive和MySQL了!读懂它们的天壤之别,才算摸到大数据的门道