`

linux mysql 自动备份与恢复数据

阅读更多
  mysql备份一般有两种,一种是mysqlhotcopy,另一种是直接使用mysqldump。两种都是在线执行LOCK TABLES 以及 UNLOCK TABLES,简单说就是热备份,在锁定数据库的情况下进行备份,这样不会让数据出现紊乱。在这里讨论第二种。
  1.linux的自动备份就得用到sh脚本。以下是脚本内容:
#vi backupmydb.sh
#2014-10-13 joker
#!/bin/bash
#2014-10-13 joker
user=222
passwd="2222"
databak_dir=/usr/backup #备份的目录

DATE=`date +%Y%m%d`
logFile=$databak_dir/logs/mysql$DATE.log
database=mydb
eMailFile=$databak_dir/email.txt

echo "     " > $eMailFile
echo "---------------------------------" >> $eMailFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $eMailFile

dumpFile=$databak_dir/$database$(date +"%Y%m%d" --date="-1 day").sql

GZDumpFile=$database$(date +"%Y%m%d" --date="-1 day").tar.gz
options="-u$user -p$passwd --opt $database"
mysqldump $options > $dumpFile  #导出数据文件
if [[ $? == 0 ]]; then
  cd $databak_dir
  tar cvzf $GZDumpFile $dumpFile >> $eMailFile 2>&1

# scp -r $GZDumpFile 地址:/xxx   #传送备份文件到另一台计算机,需要做好ssh信任

# rm -f $dumpFile           #删除备份的文件

else

  echo "DataBase Backup Fail!" >> $emailFile

fi
echo "--------------------------------------------------------" >> $logFile
cat $eMailFile >> $logFile

<!---华丽丽分割线-----!>
2.保存退出以后给予权限:chmod X backupmydb.sh
3.添加定时任务 使用linux自带的crond。
#vi /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
30 04 * * * root /usr/backup/backupmydb.sh
最后一行就是你要添加的定时任务。其中前面30 04表示每天4:30分执行一次此任务,后面的则是sh脚本的绝对地址。
4.重启crond:service crond restart
5.数据恢复。
mysql -u用户名 -p 数据库名 < 数据库名.sql
然后输入数据库密码就OK了。
6.如果是tar格式的则是:
1).tar -xzvf mydb.tar
2).创建新的数据库
3).拷贝数据库到mysql目录下:cp * /var/lib/mysql/mydb/
4).权限设置
将拷贝过去的文件的属主改为mysql:mysql,权限改为700
chown mysql:mysql /var/lib/mysql/mydb/*
chmod 700 /var/lib/mysql/mydb/*
5)收工。

分享到:
评论

相关推荐

    如何在linux下实现mysql数据库每天自动备份 txt

    在Linux环境下进行MySQL数据库的日常自动备份是一项重要的维护工作,它能够确保数据的安全性与完整性。本文将详细介绍如何通过编写Shell脚本并结合Cron定时任务来实现MySQL数据库的每日自动备份。 #### 一、准备...

    linux下 MYSQL 自动备份工具

    在Linux环境中,MySQL数据库的自动备份是系统管理中不可或缺的一部分,尤其对于那些依赖大量数据运行的企业来说更是...通过编写和配置适当的shell脚本,如`backup.sh`,可以定制适合任何业务需求的MySQL自动备份策略。

    linux下mysql自动备份

    本文将详细介绍三种常见的MySQL自动备份方法,并讲解如何在Linux下设置执行计划来定时运行这些备份任务。 一、mysqldump命令备份 mysqldump是MySQL官方提供的一个命令行工具,它可以将数据库结构和数据导出为SQL...

    mysql自动备份工具

    MySQL自动备份工具是一种高效、便捷的解决方案,用于定期保护和保存MySQL数据库中的数据。它允许用户设置特定的备份时间,确保在系统运行过程中不会丢失重要信息。这些备份通常以.sql格式存储,这是一种文本文件格式...

    linux mysql定时备份脚本

    通过以上步骤,你已经在Linux系统上成功设置了MySQL的自动备份。记得替换脚本中的环境变量,使其符合你的实际配置。定期备份能确保即使遇到硬件故障或意外数据丢失,也能快速恢复到正常状态,从而保护你的数据安全。

    linux centos MySql备份和恢复方案.zip

    本资料包"linux centos MySql备份和恢复方案.zip"显然是为了帮助用户理解和实施在Linux CentOS环境中MySQL的备份与恢复策略。 首先,我们来谈谈MySQL备份的重要性。数据是任何业务的生命线,定期备份可以防止意外...

    Linux中MySQL的异地自动备份.pdf

    Linux 中 MySQL 的异地自动备份 Linux 操作系统作为当今最流行的开源操作系统之一,越来越多的应用于校园网应用中。然而,数据的意外丢失对于校园网应用来说是很大的损失。业务数据和校园网应用的日常业务运作...

    mysql自动实现备份脚本

    2. **MySQL自动备份的重要性** - 数据安全:定期备份能防止因硬件故障、软件错误或恶意攻击导致的数据丢失。 - 恢复速度:如果出现问题,可以快速恢复到某个时间点的状态,减少业务中断时间。 - 符合法规:某些...

    Linux下mysql数据库备份以及恢复shell脚本

    4. **恢复数据**:使用`mysql -u [username] -p[password] [database_name] 命令导入SQL文件,这将按照文件中的指令重建数据库结构并插入数据。 5. **确认恢复**:检查数据库以确保所有数据已成功恢复,并根据需要...

    Mysql自动发备份恢复

    MySQL数据库在业务运行中起着至...通过以上知识,你可以建立一个可靠的MySQL自动备份恢复系统,有效保护数据安全,减少因数据丢失带来的风险。记住,良好的备份策略是任何业务的基石,务必重视并定期审查你的备份流程。

    基于Linux平台的MySQL数据库的自动备份与恢复.pdf

    基于Linux平台的MySQL数据库自动备份与恢复是一项关键任务,确保了数据的安全性和可恢复性。在本文中,作者钱爱增、徐凤生和谢延红探讨了如何利用Linux的定时机制和MySQL的转储机制实现这一目标。他们提出了一种结合...

    linux下mysql定时备份

    ### Linux下MySQL定时备份知识点详解 #### 一、概述 在Linux环境中,为了确保...通过以上步骤,即可实现在Linux环境下MySQL数据库的定时自动备份。这不仅有助于保障数据的安全,还能有效提高数据恢复的速度和效率。

    Linux(Centos)全自动异地备份数据(WEB+Mysql).pdf

    根据提供的文件信息,我们可以从《Linux(Centos)全自动异地备份数据(WEB+Mysql).pdf》这个标题和描述中提取以下知识点: 1. Linux备份概念:备份是IT行业中用于数据保护的一种常见操作。它确保数据在面临意外丢失、...

    linux下自动备份数据库

    在Linux环境下,自动备份数据库是一项至关重要的任务,它确保了数据的安全性和业务的连续性。以下是一份详尽的步骤指南,教你如何在Linux系统中设置数据库的自动备份。 1. **选择数据库类型**:首先,你需要确定你...

    linux centos MySql备份和恢复方案.7z

    在Linux CentOS系统中,MySQL数据库的备份与恢复是系统管理员日常维护的重要环节。备份是为了防止数据丢失,而恢复则是在发生故障时确保数据完整性的重要手段。以下是对标题和描述中涉及知识点的详细说明: 1. **...

    MySQL数据库备份与恢复

    在Linux系统下实现MySQL数据库的异地自动备份,不仅可以减少人为操作的错误,还能提高数据恢复的效率,从而确保数据的安全性。以下是一套详细的步骤,旨在指导如何在Linux环境中实现MySQL数据库的轻量化异地自动备份...

    Linux MySQL数据库本地备份及异地备份

    本地备份与异地备份都是保障数据安全的重要策略。以下是对标题和描述中提到的知识点的详细解释: 1. **MySQL数据库备份**:MySQL是全球广泛使用的开源关系型数据库管理系统,定期对其备份是为了防止数据丢失或系统...

    mysql数据库备份与还原

    - 测试恢复过程,确保在紧急情况下能够快速准确地恢复数据。 - 考虑使用自动化工具进行定期备份,以减轻维护负担并提高效率。 - 对于大型数据库,考虑使用增量备份等高级技术来优化备份过程。 通过以上详细的介绍,...

    Mysql全量备份与配套恢复脚本,可使用crontab定时自动全量备份

    接下来,我们来看 `restore.sh` 脚本,这是用来从备份恢复数据库的关键部分: 1. **导入 SQL 文件**:恢复过程通常涉及到读取 `backup.sh` 生成的 SQL 文件并执行它。这可以通过使用 `mysql` 命令行客户端完成,...

    新手linux 下mysql 自动备份

    本文将详细讲解如何为新手设置Linux下的MySQL自动备份,参考自《JasonChi的博客》(博文链接:https://jasonchi.iteye.com/blog/1253780)。 首先,我们需要一个脚本来执行备份操作。在提供的文件列表中,我们看到...

Global site tag (gtag.js) - Google Analytics