码迷,mamicode.com
首页 > 数据库 > 详细

mysql导入sql文件问题

时间:2015-04-24 16:32:54      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:阿里云   服务器   数据库   mysql   

公司用的阿里云RDS数据库,有一个表,每天会产生几百万的程序日志。不到一个星期,空间就满了。

所以需要每天清理一下表(truncate table),把当天的数据备份下来,下载到公司内网的备份服务器。

脚本已经做好了,每天晚上执行一次。

问题是用脚本导入的时候,出错了,无法导入。

刚开始shell是用

mysql -u root -proot -e "use dts;source /backup/dts_message_201404.sql"


出现报错

ERROR 1839 (HY000) at line 24 in file: ‘dts_message_201504.sql‘: @@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_MODE = ON.

然后就退出了。

但是mysql -u root -proot

mysql> use dts;

mysql> source /backup/dts_message_201404.sql;

虽然有一个报错,但是还是可以继续导入的。


后来脚本改成

mysql -u root -proot dts < dts_message_20150424.sql

还是报错

ERROR 1839 (HY000) at line 24: @@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_MODE = ON.


后来发现有一个参数-f,可以忽略错误,继续执行

然后测试了一下,果然奏效,nice啊!

脚本如下:


#!/bin/bash


time=`date -d today +%d`

mysql -f -u root -proot dts < /backup/dts_message_201504$time.sql

mysql -u root -proot -e "use dts;CREATE TABLE dts_message_201504$time (SELECT * FROM dts_message_201504);"


然后做个任务,每天执行一下就好了。

不用每天手动执行了。

本文出自 “陨落星空” 博客,请务必保留此出处http://xiao987334176.blog.51cto.com/2202382/1637953

mysql导入sql文件问题

标签:阿里云   服务器   数据库   mysql   

原文地址:http://xiao987334176.blog.51cto.com/2202382/1637953

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!