Xtrabackup恢复mysql数据时候报错:Original data directory is not empty!

使用Xtrabackup恢复mysql数据时候报错:Original data directory is not empty! at /usr/bin/innobackupex line 568.

网上普遍只说了引起这种想象的两种原因,还有第三种原因是我遇到的:

1.恢复备份文件要保证mysql的data目录为空,否则会报错,解决办法:

 # /etc/init.d/mysqld stop # cd /usr/local/mysql # cp -rf data{,.bak} # rm -rf ./data/*

2.data目录是空的,原因是恢复数据时候没有指定my.cnf的路径,解决办法:

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123123 --copy-back /opt/backupdb/2016-04-25_15-54-13/

注意:要把–defaults-file=/etc/my.cnf放在命令的最前面,否则也会报错,让你把这个参数放到最前面

3.以上都没问题,可能是因为my.cnf中没有指定data目录的路径造成的,解决办法:

# vi /etc/my.cnf [mysqld] datadir = /use/local/mysql/data
时间: 03-09

Xtrabackup恢复mysql数据时候报错:Original data directory is not empty!的相关文章

MySQL 中文insert报错Incorrect string value: '\xCC\xEC\xB2\xC5'

    序言:中文录入失败,报错:Incorrect string value: '\xCC\xEC\xB2\xC5',如下所示:mysql> set names utf8;Query OK, 0 rows affected (0.00 sec) mysql> insert into t select 2 as a ,'天才' as b;ERROR 1366 (HY000): Incorrect string value: '\xCC\xEC\xB2\xC5' for column 'b' a

mysql insert 空字符报错 double类型字段插入空字符串时自动转为0

这样写就会报错:Data truncated for column 'x1' at row 1这种应该是版本问题,尤其是虚拟主机.把''改成null不会出错:x1是double类型的数据. INSERT INTO TEMPTABLE(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x3

window下用主机名登录MySQL数据库出现报错解决方案

分享一个工作中的小案例:windows主机上用SQLyog使用主机名登录MySQL数据库(Linux系统上搭建),结果报错,因为经常在windows上使用主机名互相访问资源.远程登录等.以为Linux上应该也可以,所以就开始研究.通过查找资料及多方帮助终于解决并搞清楚原因.希望大家不要重蹈覆辙. 故障:在windows服务器上使用主机名登录MySQL出现以下报错,主机名"test-aa-shop1" ping不通,但是对应的IP可以ping通. 故障分析:windows之间可以用主机名

Appium1.6启动ios9.3报错Original error: Sdk '9.3.5' was not in list of simctl sdks

问题: 使用Apppium1.6启动ios9.3报错Original error: Sdk '9.3.5' was not in list of simctl sdks 我的启动配置如下 { "platformName": "ios", "platformVersion": "9.3.5", "bundleId": "com.wuba.zhuanzhuan", "app&quo

Jsoncpp写“鱘”的json数据,报错。

最近在用Json::FastWriter生成json数据时,发现一个问题.含有"鱘"字的json字段会多出一个斜杠,不知道是不是编码的问题. C++要使用JSON来解析数据,一般采用jsoncpp. 网站:http://sourceforge.net/projects/jsoncpp/ 经过json校验http://jsonlint.com/,报错 很是郁闷.现在只能从生成的字符串想办法了. 遍历生成的字符串,删除"\". 生成json数据成功! Jsoncpp写&

mysql 更新sql报错:You can't specify target table 'wms_cabinet_form' for update in FROM clause

数据库里面有两个字段的位置不对,要把他们对调换下.因为没有数据库写的权限,需要用sql语句来实现.原来以为简单的 update table a set a.字段a=(select b字段 from table  where id=?) ,set a.字段b=(select a字段 from table where id=?) where id=? ,结果报了 这个问题 You can't specify target table 'wms_cabinet_form' for update in

MySql 插入数据库报错 Incorrect string value: '\xF0\xA0\x86\xA2'

今天从nginx日志分析搜索关键字,然后把关键字插入到Mysql数据库里,出现如下错误 SQL state [HY000]; error code [1366]; Incorrect string value: '\xF0\xA0\x86\xA2' for column 'XXXX' at row 38; nested exception is java.sql.SQLException: Incorrect string value: '\xF0\xA0\x86\xA2' for column

mysql故障:重启mysql后启动报错

昨天在试运行环境做系统升级,突然间SSH连接断开,尝试进行连接一直报错,后来重启我的电脑再次进行连接,依然报错,奇怪的测试人员访问公司的liferay界面可以正常访问,后来给部门同事打电话问他们今天有没有对试运行环境做过什么修改,两个同事都说是今天没有对试运行服务器做过任何操作,我自己也没有做过什么操作,后来跟机房的技术支持打电话咨询了一下,技术支持说机房今天也没有做什么操作更没有做什么限制,后来通过登录Xenserver来登录到试运行这台机器,发现没有异常,还特意看了一下SSH的连接数,查看l

azure云迁移后expdp报错ORA-01110: data file 201: '/home/oradata/powerdes/temp01.dbf'

1,expdp的时候报错: 在idc的oracle服务器上正常导入导出都ok的,但是到了azure云上就出故障了: [[email protected] oracle]$ expdp \'powerdesk/testcrmfile\' directory=DIR_DUMP tables=bis_floor,bis_shop,bis_shop_conn,bis_store,bis_cont dumpfile=zhengyin.qu_bak_$(date +%Y%m%d)_02.dmp Export