mysql 文本备份,mysql纯文本格式备份的shell脚本

所谓的mysql纯文本格式数据,是在数据表中没有insert into这样的查询sql语句的存在,而只有类似如下:

'123','xxx','xxx','xxx'

'123','xxx','xxx','xxx'

'123','xxx','xxx','xxx'

'123','xxx','xxx','xxx'

的纯数据结构。

此种备份方式,可以节约很多存储空间。

不过此种备份的难度也要比传统的mysqldump要大。

本文以mysql数据库中的test数据库为例子,用shell脚本实现这种备份。

用到的shell 脚本,代码如下:

复制代码 代码示例:

#!/bin/bash

tables=`sudo /Applications/XAMPP/xamppfiles/bin/mysql -uroot -p test -e 'show tables'`

echo $tables

for i in $tables

do

if [ $i = 'Tables_in_test' ]

then

continue

fi

sudo /Applications/XAMPP/xamppfiles/bin/mysqldump -uroot -l -T /tmp/ test $i --fields-enclosed=\" --fields-terminated-by=,

done

执行脚本,即可把mysql数据和sql文件全部备份到/tmp/目录。

以下是恢复备份的shell 脚本,代码如下:

#!/bin/bash

sqlList=`ls /tmp/*.sql`

txtList=`ls /tmp/*.txt`

for i in $sqlList

do

sudo /Applications/XAMPP/xamppfiles/bin/mysql -uroot test < $i

done

for i in $txtList

do

sudo /Applications/XAMPP/xamppfiles/bin/mysqlimport --user=root test --fields-enclosed-by=\" --fields-terminated-by=, $i

done

注意:

恢复时要把sql文件和txt分别导入进来,先把所有的sql文件导入进来,然后再导入数据文件txt即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值