- 浏览: 22180 次
文章分类
最新评论
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)收工。
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中find常见用法示例以及删除7天前的文件
2015-01-30 10:51 729·find path -option [ -p ... -
改mysql端口后,启动mysql失败的解决方法
2014-12-29 11:12 1145在CentOS上使用yum命令安装mysql后,使用默认端口3 ... -
在CentOS 6.3中安装与配置Tomcat-7方法
2014-12-27 17:56 567安装说明 安装环境:CentOS-6.3 安装方式:源码安装 ... -
在CentOS 6.3中安装与配置JDK-7
2014-12-27 17:54 373系统环境:centos-6.3 安装方式:rpm安装 软件:j ... -
Linux下批量修改文件名的后缀 例如 .png文件修改为.jpg文件
2014-11-27 11:49 2480添加sh文件mename.sh #!/bin/bash all ... -
改mysql端口后,启动mysql失败解决方法
2014-11-21 03:20 679在CentOS上使用yum命令安装mysql后,使用默认端口3 ... -
linux修改hostname方法
2014-11-21 03:18 351Linux操作系统的hostname是一个kernel变量,可 ... -
centOS时间同步
2014-11-20 17:46 371在使用CentOS系统的时候,我们可能会遇到时间不准的问题,那 ... -
linux查看占用端口并杀掉
2014-11-19 15:33 3951.首先查看占用的端口号:#netstat -antp | g ... -
mysql链接变慢的解决方法
2014-11-17 16:18 637How MySQL uses DNS When a new t ... -
linux高并发socket最大连接数各种限制(转)
2014-11-13 11:02 4651、修改用户进程可打开文件数限制 在Linux平台上,无论编写 ... -
mysql一些常用的语句
2014-09-04 15:57 4641.查询 SELECT * FROM 表明 WHERE 字段名 ... -
linux mysql 开启远程访问以及开启最大连接数
2014-08-31 00:22 3741.mysql -u root -p mysql> g ... -
CentOs 中显示乱码问题
2014-08-30 23:29 463vi /etc/sysconfig/i18n LANG=&q ...
相关推荐
在Linux环境下进行MySQL数据库的日常自动备份是一项重要的维护工作,它能够确保数据的安全性与完整性。本文将详细介绍如何通过编写Shell脚本并结合Cron定时任务来实现MySQL数据库的每日自动备份。 #### 一、准备...
在Linux环境中,MySQL数据库的自动备份是系统管理中不可或缺的一部分,尤其对于那些依赖大量数据运行的企业来说更是...通过编写和配置适当的shell脚本,如`backup.sh`,可以定制适合任何业务需求的MySQL自动备份策略。
本文将详细介绍三种常见的MySQL自动备份方法,并讲解如何在Linux下设置执行计划来定时运行这些备份任务。 一、mysqldump命令备份 mysqldump是MySQL官方提供的一个命令行工具,它可以将数据库结构和数据导出为SQL...
MySQL自动备份工具是一种高效、便捷的解决方案,用于定期保护和保存MySQL数据库中的数据。它允许用户设置特定的备份时间,确保在系统运行过程中不会丢失重要信息。这些备份通常以.sql格式存储,这是一种文本文件格式...
通过以上步骤,你已经在Linux系统上成功设置了MySQL的自动备份。记得替换脚本中的环境变量,使其符合你的实际配置。定期备份能确保即使遇到硬件故障或意外数据丢失,也能快速恢复到正常状态,从而保护你的数据安全。
本资料包"linux centos MySql备份和恢复方案.zip"显然是为了帮助用户理解和实施在Linux CentOS环境中MySQL的备份与恢复策略。 首先,我们来谈谈MySQL备份的重要性。数据是任何业务的生命线,定期备份可以防止意外...
Linux 中 MySQL 的异地自动备份 Linux 操作系统作为当今最流行的开源操作系统之一,越来越多的应用于校园网应用中。然而,数据的意外丢失对于校园网应用来说是很大的损失。业务数据和校园网应用的日常业务运作...
2. **MySQL自动备份的重要性** - 数据安全:定期备份能防止因硬件故障、软件错误或恶意攻击导致的数据丢失。 - 恢复速度:如果出现问题,可以快速恢复到某个时间点的状态,减少业务中断时间。 - 符合法规:某些...
4. **恢复数据**:使用`mysql -u [username] -p[password] [database_name] 命令导入SQL文件,这将按照文件中的指令重建数据库结构并插入数据。 5. **确认恢复**:检查数据库以确保所有数据已成功恢复,并根据需要...
MySQL数据库在业务运行中起着至...通过以上知识,你可以建立一个可靠的MySQL自动备份恢复系统,有效保护数据安全,减少因数据丢失带来的风险。记住,良好的备份策略是任何业务的基石,务必重视并定期审查你的备份流程。
基于Linux平台的MySQL数据库自动备份与恢复是一项关键任务,确保了数据的安全性和可恢复性。在本文中,作者钱爱增、徐凤生和谢延红探讨了如何利用Linux的定时机制和MySQL的转储机制实现这一目标。他们提出了一种结合...
### Linux下MySQL定时备份知识点详解 #### 一、概述 在Linux环境中,为了确保...通过以上步骤,即可实现在Linux环境下MySQL数据库的定时自动备份。这不仅有助于保障数据的安全,还能有效提高数据恢复的速度和效率。
根据提供的文件信息,我们可以从《Linux(Centos)全自动异地备份数据(WEB+Mysql).pdf》这个标题和描述中提取以下知识点: 1. Linux备份概念:备份是IT行业中用于数据保护的一种常见操作。它确保数据在面临意外丢失、...
在Linux环境下,自动备份数据库是一项至关重要的任务,它确保了数据的安全性和业务的连续性。以下是一份详尽的步骤指南,教你如何在Linux系统中设置数据库的自动备份。 1. **选择数据库类型**:首先,你需要确定你...
在Linux CentOS系统中,MySQL数据库的备份与恢复是系统管理员日常维护的重要环节。备份是为了防止数据丢失,而恢复则是在发生故障时确保数据完整性的重要手段。以下是对标题和描述中涉及知识点的详细说明: 1. **...
在Linux系统下实现MySQL数据库的异地自动备份,不仅可以减少人为操作的错误,还能提高数据恢复的效率,从而确保数据的安全性。以下是一套详细的步骤,旨在指导如何在Linux环境中实现MySQL数据库的轻量化异地自动备份...
本地备份与异地备份都是保障数据安全的重要策略。以下是对标题和描述中提到的知识点的详细解释: 1. **MySQL数据库备份**:MySQL是全球广泛使用的开源关系型数据库管理系统,定期对其备份是为了防止数据丢失或系统...
- 测试恢复过程,确保在紧急情况下能够快速准确地恢复数据。 - 考虑使用自动化工具进行定期备份,以减轻维护负担并提高效率。 - 对于大型数据库,考虑使用增量备份等高级技术来优化备份过程。 通过以上详细的介绍,...
接下来,我们来看 `restore.sh` 脚本,这是用来从备份恢复数据库的关键部分: 1. **导入 SQL 文件**:恢复过程通常涉及到读取 `backup.sh` 生成的 SQL 文件并执行它。这可以通过使用 `mysql` 命令行客户端完成,...
本文将详细讲解如何为新手设置Linux下的MySQL自动备份,参考自《JasonChi的博客》(博文链接:https://jasonchi.iteye.com/blog/1253780)。 首先,我们需要一个脚本来执行备份操作。在提供的文件列表中,我们看到...