Mysql-数据库的备份和恢复
说明
mysql的数据库备份和恢复,另外一篇文章数据库定时备份计划
数据库的备份和恢复(单库)
备份
基本语法:
mysqldump -uroot -p 数据库 > 备份路径
备份张三数据库:
root@iZm5eiw4hobozjn054cjzrZ:~# mysqldump -uroot -p zhangsan > /home/backup/zhangsan.sql
Enter password:
root@iZm5eiw4hobozjn054cjzrZ:~# cd /home/backup/
root@iZm5eiw4hobozjn054cjzrZ:/home/backup# ls
zhangsan.sql
恢复
假如我们的库不小心被删掉了,我们可以通过以下方法恢复张三数据库
1.创建张三数据库
mysql> create database zhangsan;
Query OK, 1 row affected (0.00 sec)
2.use 张三数据库
mysql> use zhangsan;
Database changed
3.用source命令还原数据库
mysql> source /home/backup/zhangying.sql
Query OK, 0 rows affected (0.00 sec)
数据库的备份和恢复(某个库的某些表)
备份
基本语法:
cmd>mysqldump -u root -p 数据库名 表名1 表名2 > 备份路径
备份张三数据库中user 表
root@iZm5eiw4hobozjn054cjzrZ:/home/backup# mysqldump -uroot -p zhangsan user >/home/backup/user.sql
Enter password:
root@iZm5eiw4hobozjn054cjzrZ:/home/backup# cd /home/backup/
root@iZm5eiw4hobozjn054cjzrZ:/home/backup# ll
-rw-r--r-- 1 root root 1809 May 30 13:41 user.sql
root@iZm5eiw4hobozjn054cjzrZ:/home/backup#
恢复
在张三数据中恢复user表
mysql> use zhangsan;
mysql> source /home/backup/user.sql
Query OK, 0 rows affected (0.00 sec)
数据库的备份和恢复(多库)
基本语法:
cmd>mysqldump -u root -p -B 数据库名1 数据库名2 > 备份路径
备份
同时备份zhangying和zhangsan数据库
root@iZm5eiw4hobozjn054cjzrZ:/home/backup# mysqldump -uroot -p -B zhangying zhangsan > /home/backup/dbs.sql
Enter password:
root@iZm5eiw4hobozjn054cjzrZ:/home/backup# cd /home/backup
root@iZm5eiw4hobozjn054cjzrZ:/home/backup# ls
dbs.sql user.sql zhangying.sql
恢复多个库
进入mysql控制台后,直接用source命令导入数据库。
source /home/backup/dbs.sql
知识点
备份多个库时会将创建库的命令备份,所以不用再次创建数据库,直接用source命令导入就好。
自动备份脚本
给大家介绍一个备份脚本,mysalback.sh
#!/bin/bash
#dcription: mysql-data automatically backup script
# 文件名为test_db+日期
backupDatabase=blog
fileName=${backupDatabase}`date +%Y%m%d`
# 定义baseDir变量
baseDir=/root/backup/date/
# 备份数据库
mysqldump -h127.0.0.1 -uroot -proot ${backupDatabase} > ${baseDir}${fileName}.sql
# 压缩
tar -zcvf ${baseDir}${fileName}.sql.tar.gz ${baseDir}${fileName}.sql
# 删除刚刚备份的sql文件,留下压缩的
rm -f ${baseDir}${fileName}.sql;
# 删除7天前备份的数据,只保留7天内的数据
find ${baseDir} -mtime +7 -name "${backupDatabase}*.tar.gz" -exec rm -rf {} \;
结尾
腹有诗书气自华,最是书香能致远。