mysql远程备份并解决编码问题脚本-阿里云开发者社区

开发者社区> 科技小能手> 正文

mysql远程备份并解决编码问题脚本

简介:
+关注继续查看

#!/bin/bash
IP=192.168.0.198
mysqlpath=/usr/local/mysql/bin
variables=`$mysqlpath/mysql -u root -pmima  -h$IP  -e" show variables like 'character\_set\_%';" |awk '{print$2}' |sed -n '4'p`
$mysqlpath/mysqldump -uroot -pmima -h$IP   --default-character-set=$variables  keyword_ad>/back/mysqldb/s198db/keyword_ad_$(date +%Y%m%d).sql;
$mysqlpath/mysqldump -uroot -pmima -h$IP   --default-character-set=$variables  mysql>/back/mysqldb/s198db/s198mysql_$(date +%Y%m%d).sql;

sleep 180s

cd /back/mysqldb/s198db/
/bin/tar zcf keyword_ad_$(date +%Y%m%d).tar.gz keyword_ad_$(date +%Y%m%d).sql
/bin/tar zcf s198mysql_$(date +%Y%m%d).tar.gz s198mysql_$(date +%Y%m%d).sql

sleep 60s

/usr/bin/find /back/mysqldb/s198db/ -name "*.tar.gz"  -mtime +5 -exec rm -rf {} \;

sleep 60s

/usr/bin/find /back/mysqldb/s198db/ -name "*.sql"  -mtime +1 -exec rm -rf {} \;
 

 

惆怅上面这种方法只解决了mysql服务端与客服端编码不一样的时候出现问题

,今天我去查备份依然看到 部分database 与mysql 的编码不一样那只能 连接的时候 看库的编码 依据库的编码方式连接了于是我又 该了脚本

 

#!/bin/bash
IP=IP地址

U=root

P=mima


DB=" 需要备份的库以空格隔开就可以了"


mysqlpath=/usr/local/mysql/bin


BACKDIR=/back/mysqldb/D213db/


date=`date +%Y%m%d`


for data in $DB
do
variables=`$mysqlpath/mysql  -u $U -p$P -h$IP -e "show create database $data;" |awk '{print$9}' |sed -n '2'p`
$mysqlpath/mysqldump -u $U -p$P -h$IP --default-character-set=$variables  $data > $BACKDIR$data"_"$date.sql && echo "$variables "
echo "$data"

cd $BACKDIR

/bin/tar zcf $data"_"$date.tar.gz $data"_"$date.sql&&echo "$data tar success "

done

sleep 60s
/usr/bin/find $BACKDIR -name "*.tar.gz"  -mtime +5 -exec rm -rf {} \;

sleep 60s

/usr/bin/find $BACKDIR -name "*.sql"  -mtime +0  -exec rm -rf {} \;

 

如果表的编码与库的还不一样那样就麻烦了。我们公司的还有表的字段不一样,我就愁死了 这跟程序员有关系 没办法 。


本文转自 houzaicunsky 51CTO博客,原文链接:http://blog.51cto.com/hzcsky/640926


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
编码问题
字节流(二进制流) 首先明确“字节(Byte)”和“字符(Character)”的大小: 1 byte = 8 bit 1 char = 2 byte = 16 bit (Java默认UTF-16编码) 字节流是由字节组成的,字符流是由字符组成的.
586 0
xcode使用lldb的python脚本查看WebKit的WTF::String和Vector等基础类
webkit关于gdb的wiki:http://trac.webkit.org/wiki/GDB 它是自带了gdb和lldb的python脚本的,路径分别在 webkit workingcopy/Tools/gdb/webkit.
959 0
sql远程开启
数据库属性 登录 开启   防火墙开启允许 配置  MSSQL服务 TCP/IP 协议开启 sql browser 开启 方面 RemoteAccessEnable   true
491 0
mysql太多连接问题及解决方案
不管是JavaEE开发还是其他,只要是Linux系统下安装的mysql,通常默认最大连接为270。 如果你的客户端连接超过这个数,通常要么是配置文件修改,或者是命令行修改,配置文件修改和命令行修改的区别是,配置文件,既然是文件通常持久化到硬盘,保存最长,如果是命令行的话,仅仅只能保持在Mysql运行状态,如果一旦MySQL因为某种原因宕机或者关闭了,命令行的方式就失效了。
937 0
Mysql授权远程访问
<p style="line-height:23.8px; color:rgb(69,69,69); font-family:tahoma,helvetica,arial; font-size:14px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px"> <span style="color:
1278 0
VMware备份文件即时恢复功能全新发布
HBR的VMware备份/恢复都是整机维度的,但是有些时候,我们或许只想要恢复备份中的某个文件,这样在恢复一个完整的虚拟机就有点高射炮打蚊子了。我们能不能直接从备份的数据里捞出来想要的文件呢?文件级恢复的功能便应运而生。
206 0
23706
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载