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

一、首先是普通备份数据库:
MysqLdump-hlocalhost-uroot-pDB1>DB1.sql DB1为备份的数据库名称

还原数据库:
MysqL-hlocalhost-uroot-pDB1<DB1.sql DB1为还原的数据库名称

二、MysqL数据库压缩备份
MysqLdump-hlocalhost-uroot-pDB1|gzip>DB1.sql.gz

还原压缩的MysqL数据库 gunzip<DB12016-08-23.sql.gz|MysqL-uroot-pDB1

三、我们接下来使用脚本压缩备份
#!/bin/sh dbname="DB1" Source="/root/MysqLDB_BAK" date_str=`date+%Y-%m-%d_%H:%M:%s` MysqLdump-hlocalhost-uroot--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)-Backupdirectory:dbname:$dbnameto$Source/$dbname.sql.gzisBackupSucess">>/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-hlocalhost-uroot--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)-Backupdirectory:dbname:$dbnameto$Source/$dbname.sql.gzisBackupSucess">>/var/log/$dbname.log
添加了log,如果成功的话,会在/var/log/DB1.log生成一条log日志

执行后,备份成功

然后将备份的压缩文件远程拷贝到目标计算机进行还原
scpDB12016-08-22_16.46.17.sql.gzroot@192.168.6.38:/
![]()
还原数据库;
我们需要注意的是我们192.168.6.38服务器只安装了MysqL服务及配置了账户及密码;所以我们只需要将192.168.6.28上的MysqL备份数据还原到192.168.6.38上即可;
拷贝数据完成后,我们使用解压的方式将压缩文件解压到数据库数据文件路劲即可;
我们在192.168.6.38上,进入数据库数据文件路劲
cd/var/lib/MysqL

从压缩文件直接恢复:
gunzip<DB12016-08-22_16.46.17.sql.gz|MysqL-uroot-p<databasename>
如果目标没有备份的数据库名称的话,需要创建一个跟备份数据库一样的库;

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

gunzip<DB12016-08-23.sql.gz|MysqL-uroot-pDB1 gunzip<DB12016-08-22_16.46.17.sql.gz|MysqL-uroot-p<databasename>

最后我们查询一下
select*frominfo;
