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 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 |
2、编写运行脚本
代码如下 | 复制代码 |
#vi autobackup |
写入以下内容:
代码如下 | 复制代码 |
filename=`date +%Y%m%d` |
保存退出
说明:
(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 |
补充:数据库,mysql教程