mysql数据库的备份和恢复
2010-09-02 14:14
274 查看
mysql数据库的备份和恢复
一、在主从架构中,我们可以时时同步mysql数据库,当我们需要拷贝文件做为备份时,可以将从节点stop(stop slave ),然后拷贝文件即可。
二、mysql提供的一个命令mysqldump,用这个逻辑备份工具也可以为我们进行数据备份。
1.备份:
#mysqldump -u root -p mytest > mytest_100901.sql
数据量过大时可使用gzip压缩
#mysqldump -u root -p mytest | gzip > mytest_100901.sql.gz
2.恢复:
#mysqldump -u root -p mytest < mytest_100901.sql
gzip压缩
# gzip < mytest_100901.sql.gz |mysqldump -u root -p mytest
还有使用图形工具的也比较好用,mysqldump比较基本,通用
三、利用crontab,系统每天定时备份mysql数据库
利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。
1、创建保存备份文件的路径/backup/mysqlbak
# mkdir -p /backup/mysqlbak
2、创建/bakmysql.sh文件
#cat >> /usr/sbin/bakmysql.sh <<EOF
#!/bin/bash
cd /var/backup/mysqlbak/
dateDIR=`date +"%y-%m-%d"` (取年月日做为文件夹名,)
mkdir -p $dateDIR/data (创建文件夹)
for i in `mysql -uroot -p123456 -e "show databases" | (登录数据库查看数据库)
grep -v "Database" | grep -v "information_schema"` (不备份的数据库)
do
mysqldump -uroot -p123456 $i |
gzip > /backup/mysqlbak/$dateDIR/${i}_${dateDIR}.gz
done
EOF
3、修改文件属性,使其可执行
# chmod a+x /bakmysql.sh
4、每天3点钟执行备份
# crontab -e
01 3 * * * root /bakmysql.sh
以上只是每天备份一次,当每天备份多次时,可设置文件夹名为:年、月、日、分钟,相应的修改/etc/crontab(系统) 或者编辑某一用户的crontab(/var/spool/cron/$USERNAME),以某以用户身份来运行
本文出自 “一份存档” 博客,请务必保留此出处http://linuxbpm.blog.51cto.com/1823930/386452
一、在主从架构中,我们可以时时同步mysql数据库,当我们需要拷贝文件做为备份时,可以将从节点stop(stop slave ),然后拷贝文件即可。
二、mysql提供的一个命令mysqldump,用这个逻辑备份工具也可以为我们进行数据备份。
1.备份:
#mysqldump -u root -p mytest > mytest_100901.sql
数据量过大时可使用gzip压缩
#mysqldump -u root -p mytest | gzip > mytest_100901.sql.gz
2.恢复:
#mysqldump -u root -p mytest < mytest_100901.sql
gzip压缩
# gzip < mytest_100901.sql.gz |mysqldump -u root -p mytest
还有使用图形工具的也比较好用,mysqldump比较基本,通用
三、利用crontab,系统每天定时备份mysql数据库
利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。
1、创建保存备份文件的路径/backup/mysqlbak
# mkdir -p /backup/mysqlbak
2、创建/bakmysql.sh文件
#cat >> /usr/sbin/bakmysql.sh <<EOF
#!/bin/bash
cd /var/backup/mysqlbak/
dateDIR=`date +"%y-%m-%d"` (取年月日做为文件夹名,)
mkdir -p $dateDIR/data (创建文件夹)
for i in `mysql -uroot -p123456 -e "show databases" | (登录数据库查看数据库)
grep -v "Database" | grep -v "information_schema"` (不备份的数据库)
do
mysqldump -uroot -p123456 $i |
gzip > /backup/mysqlbak/$dateDIR/${i}_${dateDIR}.gz
done
EOF
3、修改文件属性,使其可执行
# chmod a+x /bakmysql.sh
4、每天3点钟执行备份
# crontab -e
01 3 * * * root /bakmysql.sh
以上只是每天备份一次,当每天备份多次时,可设置文件夹名为:年、月、日、分钟,相应的修改/etc/crontab(系统) 或者编辑某一用户的crontab(/var/spool/cron/$USERNAME),以某以用户身份来运行
本文出自 “一份存档” 博客,请务必保留此出处http://linuxbpm.blog.51cto.com/1823930/386452
相关文章推荐
- mysql数据库备份与恢复
- MYSQL数据库备份与恢复
- Mysql数据库的备份和恢复(史上最简单,只需鼠标点击操作,不需要写代码)
- mysql数据库的备份和恢复
- Mysqldump备份和恢复mysql数据库
- xtrabackup 备份mysql数据库三:partial backup 部分备份及恢复
- mysql数据库的备份和恢复
- 使用XtraBackup恢复|备份 Mysql数据库 -- 数据恢复篇
- Qt中使用QProcess备份和恢复Mysql数据库
- mysql数据库备份及恢复命令mysqldump,source的用法
- mysql数据库备份与恢复命令集合
- linux备份mysql数据库与恢复mysql备份数据
- MySQL数据库备份及二进制文件恢复
- mysql数据库备份和恢复问题
- MySQL数据库备份与恢复
- 如何备份/恢复dreamhost空间里的mysql数据库
- mysql数据库备份及恢复命令mysqldump,source的用法
- MySql数据库备份和恢复
- Mysql数据库备份与恢复
- Mysql数据库的备份与恢复 导库