linux服务器中备份还原MYSQL数据库
本文章整理了一些常用的linux服务器中备份还原MYSQL数据库命令代码,有需要学习了解的朋友可参考参考.
1.备份MYSQL:
把一个库导出到一个SQL文件,代码如下:
mysqldump db_name > /home/hx/backup/name.sql -uroot -p
备份多个库(使用-B参数),代码如下:
mysqldump -B db1 db2 > /path/name.sql -u root -p
备份全部库,代码如下:
mysqldump --all-databases > /path/name.sql -u root -p
备份某库一个表,代码如下:
mysqldump db1 tb1 > /path/name.sql
备份某库多个表,代码如下:
mysqldump db1 tb1 tb2 > /path/name.sql
产生某库某表的结构,代码如下:
mysqldump -d db1 users > users.structure
产生某库某表的内容,代码如下:
mysqldump -t db1 users > users.data
2.恢复数据
有两种方式,第一种,代码如下:mysql db_name < /path/backup-file.sql -u root -p
第二种:,代码如下:
- mysql-uroot-p
- usedb_name
- source/path/backup-file.sql
3.Linux下的压缩,将生成的sql备份文件打包一下.
zip xxx.zip xxx.sql
tar -czf xxx.rar xxx.sql
tar的解压是x,打包是c。
4.上传下载备份,我用的是SecureCRT。
下载到本地,sz 目录/文件名
上传到服务器,rz
rz -r 续传
rz -y 覆盖已有文件
上面都是需要手动的,下面我来介绍一个自动备份mysql数据库,MYSQL定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系统定期备份数据.
1、创建备份文件夹,代码如下:
#cd /www
#makedir backup
2、编写运行脚本,代码如下:#vi autobackup,写入以下内容:
- filename=`date+%Y%m%d`
- mysql_bin_dir/mysqldump–optdataname-uuser-ppassword|gzip>/www/mysqlbackup/name$filename.gz
- --phpfensi.com
保存退出
说明:(1)mysql_bin_dir:mysql的bin路径;(2)dataname:数据库名;(3)user:数据库用户名;(4)password:用户密码;(5)name:自定义备份文件前缀标识.
如上例,将自动备份mysql数据库,并以gzip压缩方式存储,文件名为name20080101.gz的形式.
3、为脚本添加执行权限
#chmod +x autobackup
4、让crontab来完成定期执行的任务
这一步中,Redhat的方法会不一样,后面专门给出.
编辑crontab.代码如下:#vi /etc/crontab,在最后一行中加入:
01 5 * * * root /www/autobackup
每天5点运行脚本,也可以修改5为其他指定时间.
Redhat方法:Redhat的crontab采用按时间调用4个目录(/etc/cron.hourly:每小时;/etc/cron.daily:每天;/etc/cron.weekly:每周;/etc/cron.monthly:每月)中脚本出来运行的方式.
Redhat中只需要将刚才编辑的脚本复制到相应的目录即可。
5、重启crontab,代码如下:#/etc/rc.d/init.d/crond restart
热门评论