linux备份mysql文件并恢复的脚本,以及其中出现的错误:ERROR: ASCII '\0' appeared in the statement
首先是在网上找了一下教程,代码很简单
#!/bin/bash folder=~/test
time=`date +%Y%m%d` mysqldump -u user -p pwd -hlocalhost databasename | gzip > $folder/databasename_$time.sql.gz
#
find $folder -name 'databasename_*.sql.gz' -type f -mtime + -exec rm {} \;
#
gunzip < $folder/databasename_$time.sql.gz | mysql -hlocalhost -uuser -ppwd databasename
因为写python代码习惯了,碰到=就自然而然敲空格,结果很多变量都没有值,所以这里需要注意一下,然后user和pwd就是你自己数据的用户名和密码,databasename就是你要操作的数据库名称,因为不想浪费内存就直接将mysqldump生成的sql文件进行了压缩处理,然后中间的命令就是找到七天以前的文件并进行删除操作,-exec是值后面的命令将会被执行,大括号是被执行对象集合,后面以分号结尾,加一个反斜杠防止被转义,第三行命令就是从gzip文件中恢复数据到数据库,一开始我是用gzip,然后就报了一个错误:
ERROR: ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode. Set --binary-mode to 1 if ASCII '\0' is expected. Query: '.
我去搜索了一下发现没有什么好的解决方案,然后把sql语句解压后用命令发现可以执行.sql文件,就试了一下不使用gzip改用gunzip,然后就脚本就成功运行并且没有相类似的报错了。
后面的定时执行也顺带提一下,
# chmod +x bashname.sh --为脚本添加执行权限
# crontab -e
* * * root ~/bashname.sh
# 表示每天3点00分执行脚本
然后重启一下crontab就可以了。
linux备份mysql文件并恢复的脚本,以及其中出现的错误:ERROR: ASCII '\0' appeared in the statement的更多相关文章
- window环境下mysql导入sql文件时报错:ERROR: ASCII '\0' appeared in the statement
错误信息: ERROR: ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mo ...
- 导入mysql文件提示“ASCII '\0' appeared in the statement”
在windows服务器上导入mysql文件时,出现以下报错:ASCII '\0' appeared in the statement, but this is not allowed unless o ...
- [20171225]没有备份数据文件的恢复.txt
[20171225]没有备份数据文件的恢复.txt --//别人问的问题,增加了数据文件没有备份,如何恢复,实际上很简单,因为当前控制文件有记录建立时间只要从建立数据文件开始的--//归档日志都存在恢 ...
- 一个备份MySQL数据库的简单Shell脚本(转)
Shell脚本是我们写不同类型命令的一种脚本,这些命令在这一个文件中就可以执行.我们也可以逐一敲入命令手动执行.如果我们要使用shell脚本就必须在一开始把这些命令写到一个文本文件中,以后就可以随意反 ...
- [转]一个备份MySQL数据库的简单Shell脚本
本文翻译自 iSystemAdmin 的 <A Simple Shell Script to Backup MySQL Database> Shell脚本是我们写不同类型命令的一种脚本,这 ...
- linux备份mysql数据库
刚学的技术,保存一下 1. 在linux服务器上创建一个 msyql.sh文件 (随便定义) ,用来保存备份mysql数据的脚本 2. 编辑mysql.sh文件 (自己之前写过的一个脚本) mys ...
- linux下mysql 文件导入导出
最近在做mysql的数据导入导出得到的一些经验,记录下. 1.首先要开通导入导出的功能,需要设置一个mysql的配置 可以在 my.conf 文件的最后增加配置项 secure-file-priv=' ...
- linux中备份mysql数据库的一个shell脚本
#!/bin/bash #FileName:select_into_bak.sh #Desc:Use select into outfile to backup db or tables #Creat ...
- 在Linux下误删文件后恢复【转】
针对日常维护操作,难免会出现文件误删除的操作.大家熟知linux文件系统不同win有回收站,删除后的文件可以到垃圾箱寻回,要知道linux文件修复比较费劲,网络上面的文档也是五花八门.所以本次研究一种 ...
随机推荐
- Eclipse4.2juno安装git
因为项目需要,需要再Eclipse4.2juno上面安装git,试了几次都没有成功,网上搜了下,结合报错发现,Eclipse4.2juno支持的最高版本是git3.2,因此,选选择3.2版本的git安 ...
- .Net Oracle TransactionScope的使用
IIS服务器和Oracle服务器: 1.配置msdtc允许DTC访问及启用事务 2.配置msdtc程序入站出站例外 3.数据库连接字符串不能带enlist=false标识 如下这样带enlist=fa ...
- SonarQube + Jenkins代码审查环境安装文档 v1.2
1. 安装SonarQube 1.1. 下载 下载地址:https://www.sonarqube.org/downloads/ 本次使用安装包为:sonarqube-7.4.zip 需要提前准备jd ...
- PPT使用技巧
推荐两个个人收藏的网站站点(非广告,好东西就应该share) 免费PPT模板下载网站 http://www.1ppt.com 免费图标下载网站 https://www.easyicon.net 一.P ...
- node读写本地文件
http://nodejs.cn/api/fs.html#fs_fs_writefilesync_file_data_options https://www.cnblogs.com/diaosizha ...
- nodejs调试工具 node-inspect
1.安装 npm install -g node-inspect 2.chrome设置 chrome://flags/#enable-devtools-experiments 3.测试 测试代码mai ...
- 超详尽-QThread的正确使用姿势-以及信号槽的跨线程使用
贴上两篇博文 一.http://www.cnblogs.com/findumars/p/5031239.html 循序渐进介绍了,怎样正确的让槽函数工作在子线程中. 同时介绍了信号槽的绑定与线程的关系 ...
- eclipse项目有红色感叹号
1.依赖有问题 找到build path 点击configure build path 点击libraries 找到有红叉的包,然后选中移除 2.引用的包有问题 利用maven引用的包出现问题,有的包 ...
- 关于JavaScript面向对象那些事
当你在使用手机的时候,你会发现,你并不懂得其中的原理就会操作了,其实这就是面向对象的思想.面向对象还有很多地方都会运用到.JavaScript也不例外,现在跟随我的脚步,来学习一下吧. 面向过程和面向 ...
- Tkint中Label&Button&Scale的使用
top.geometry()设定窗口的初始大小 scale.set()设定滑块的初始值 scale.get()获取滑块变化的值 控件通过回调函数与其他控件进行通信(Label控件中的文本会受到Scal ...