时间:2021-07-01 10:21:17 帮助过:18人阅读
环境 :linux centos 备份数据库类型 :mysql 备份需要用到的命令: rpm -q mysql //查看mysql是否安装,及其版本mysqldump -uusername -ppassword test test_2014-05-20.sql 一、用命令实现备份 1、备份数据 (某些系统mysqldump会出现找不到命令的情况,请根
环境:linux centos
备份数据库类型:mysql
备份需要用到的命令:
rpm -q mysql //查看mysql是否安装,及其版本 mysqldump -uusername -ppassword test > test_2014-05-20.sql
一、用命令实现备份
1、备份数据 (某些系统mysqldump会出现找不到命令的情况,请根据实际mysql的bin目录操作)
#mysqldump -uusername -ppassword discuz > discuz_2010-04-01.sql这样就把discuz数据库所有的表结构和数据备份到discuz_2010-04-01.sql里了,
#mysqldump -uusername -ppassword discuz | gzip > discuz_2010-04-01.sql.gz一般还要用到错误重定向:
mysqldump -uroot -p123 test 2>> /mysql_backup/blog.txt | gzip > /mysql_backup/test_`date +%Y-%m-%d_%H%M%S`.sql.gz 2>> /mysql_backup/blog.txt
这里的mysql_backup是我新建的目录,blog.txt是日志文件,我们把错误信息都记录到这里
系统崩溃,重建系统时,可以这样恢复数据:#mysql -uusername -ppassword discuz < discuz_2010-04-01.sql
二、利用crontab,系统每天定时备份mysql数据库
1、创建保存备份文件的路径/mysqldata
#mkdir /mysql_backup
2、创建/usr/sbin/bakmysql文件
输入以下内容:
mysqldump -uroot -p123 test 2>> /mysql_backup/blog.txt | gzip > /mysql_backup/test_`date +%Y-%m-%d_%H%M%S`.sql.gz 2>> /mysql_backup/blog.txt3、修改文件属性,使其可以执行
第一步:
写cron脚本文件,命名为cronmysql.cron。如:
#01 3 * * * root /usr/sbin/bakmysql //像这种后面是命令路径的 一定要加上执行的用户
三、数据的恢复
只备份单个数据表
mysqldump -uroot -p123456 database table > dump.sql
mysql -uusername –ppassword 数据库名 < 备份文件.sql
压缩包恢复
gzip -d < /mysql_backup/test_2014-05-19_072501.sql.gz | mysql -uroot -p123 test1;
四、进阶篇
mkdir /mysql_backup/bak_`date +%Y-%m-%d` 2>> /mysql_backup/blog.txt mysqldump -uroot -p123 test blog_user | gzip > /mysql_backup/bak_`date +%Y-%m-%d`/blog_user_`date +%Y-%m-%d`.sql.gz 2>> /mysql_backup/blog.txt mysqldump -uroot -p123 test users | gzip > /mysql_backup/bak_`date +%Y-%m-%d`/users_`date +%Y-%m-%d`.sql.gz 2>> /mysql_backup/blog.txt