博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Centos 6.4下MySQL备份及还原详情介绍
阅读量:6983 次
发布时间:2019-06-27

本文共 2235 字,大约阅读时间需要 7 分钟。

我们前面文中中介绍了centos 6.4下MySQL的安装及配置,安装后为了保证数据的安全性所以我们同样也要学会备份及还原,备份及还原操作在我们的真实工作环境中是必不可少的,由于是对数据库数据备份,所以今天我们就随之介绍一下,Centos 6.4下的MySQL的备份及还原操作。我们这两篇文章的介绍都是为了下面的Mysql 主从配置做铺垫,所以环境跟上一篇的文章是一样的,此次环境中还是上一篇文章中安装的那两台Cnetos .6.4+MySQL服务器,今天主要介绍是准备将192.168.6.28上的DB1备份后,还原到192.168.6.38服务器的DB上

我们前面说过了 mysql的数据文件存放在   

1
/var/lib/mysql

一、首先是普通备份数据库:

1
2
mysqldump -hlocalhost -uroot -p DB1 > DB1.sql
DB1为备份的数据库名称

还原数据库:

1
2
mysql -hlocalhost -uroot -p DB1 < DB1.sql
DB1为还原的数据库名称

二、MySQL数据库压缩备份

1
mysqldump -hlocalhost -uroot -p DB1 | 
gzip 
> DB1.sql.gz

1
2
还原压缩的MySQL数据库
gunzip < DB12016-08-23.sql.gz | mysql -uroot -p DB1

三、我们接下来使用脚本压缩备份

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/sh
DBName=
"DB1"
Source=
"/root/MYSQLDB_BAK"
date_str=`
date 
+%Y-%m-%d_%H:%M:%S`
mysqldump -h localhost -u root --password=beyondsoft -R -E -e --max_allowed_packet=1048576 --net_buffer_length=16384 $DBName | 
gzip 
> $Source/$DBName$date_str.sql.gz
echo 
"$(date +%Y-%m-%d_%H:%M:%S) - Backup directory:DBName: $DBName to $Source/$DBName.sql.gz is Backup Sucess" 
>>
/var/log/
$DBName.log
#!/bin/sh
DBName=
"DB1"
Source=
"/root/MYSQLDB_BAK"
#date_str=`date +%Y-%m-%d-%H:%M:%S`date_str=`date +%Y-%m-%d_%H-%M-%S`
date_str=`
date 
+%Y-%m-%d`
mysqldump -h localhost -u root --password=beyondsoft -R -E -e --max_allowed_packet=1048576 --net_buffer_length=16384 $DBName | 
gzip 
> $Source/$DBName$date_str.sql.gz
echo 
"$(date +%Y-%m-%d_%H:%M:%S) - Backup directory:DBName: $DBName to $Source/$DBName.sql.gz is Backup Sucess" 
>>
/var/log/
$DBName.log

添加了log,如果成功的话,会在/var/log/DB1.log生成一条log日志

执行后,备份成功

然后将备份的压缩文件远程拷贝到目标计算机进行还原

1
scp 
DB12016-08-22_16.46.17.sql.gz root@192.168.6.38:/

还原数据库;

我们需要注意的是我们192.168.6.38服务器只安装了mysql服务及配置了账户及密码;所以我们只需要将192.168.6.28上的mysql备份数据还原到192.168.6.38上即可;

拷贝数据完成后,我们使用解压的方式将压缩文件解压到数据库数据文件路劲即可;

我们在192.168.6.38上,进入数据库数据文件路劲

1
cd 
/ var
/lib/mysql

从压缩文件直接恢复:

1
gunzip < DB12016-08-22_16.46.17.sql.gz | mysql -u root -p <databasename>

如果目标没有备份的数据库名称的话,需要创建一个跟备份数据库一样的库;

注:DB1是需要还原的数据库信息;同时需要吧还原文件拷贝到数据库文件路劲

1
ls 
/var/lib/mysql/

1
2
gunzip < DB12016-08-23.sql.gz | mysql -uroot -p DB1
gunzip < DB12016-08-22_16.46.17.sql.gz | mysql -u root -p <databasename>

最后我们查询一下

1
select 
* from info;

本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1841540,如需转载请自行联系原作者

你可能感兴趣的文章
Oracle软件的美学变迁
查看>>
HttpServlet中getAllDeclaredMethods()方法
查看>>
面试题2:二维数组中的查找
查看>>
文件上传的渐进式增强
查看>>
leetcode -- Sort Colors
查看>>
C#中使用自定义的纸张大小
查看>>
1z0-052 q209_3
查看>>
行测题哦
查看>>
JavaScript Window Navigator 浏览器本身的信息
查看>>
使用Android Ant在编译时混淆
查看>>
通过Servlet 将服务器硬盘图片 展示到浏览器
查看>>
linux_nand_driver
查看>>
语义化的软件版本号规则,你是否真的了解软件的版本号
查看>>
[通俗易懂]理解“委托”
查看>>
sdut 2162:The Android University ACM Team Selection Contest(第二届山东省省赛原题,模拟题)...
查看>>
xocodebulid 自动化打包 解决提示 ld: library not found for -lPods 问题
查看>>
LPEG
查看>>
python none,null,,,,,类型
查看>>
HDU 3360 National Treasures 奇偶匹配的最低点覆盖
查看>>
/lib /usr/lib /usr/local/lib区别
查看>>