昨天,有个朋友对公司内部使用的一个MySQL实例开启binlog,但是在启动的过程中失败了(他也没提,为何会失败),在启动失败后,他删除了ibdata1和ib_logfile,后来,能正常启动了,但所有的表通过show tables能看到,但是select的过程中却报&l ...
昨天,有个朋友对公司内部使用的一个MySQL实例开启binlog,但是在启动的过程中失败了(他也没提,为何会失败),在启动失败后,他删除了ibdata1和ib_logfile,后来,能正常启动了,但所有的表通过show tables能看到,但是select的过程中却报“Table doesn't exist”。
于是,建议他试试可传输表空间。
同时,自己也测试了下,确实可行。
测试版本 MySQL 5.6.32 社区版
首先,创建测试数据
在这里创建两张表。之所以创建两张相同的表是为了方便后续的测试。
mysql> create table t1(id int,hiredate datetime);Query OK, 0 rows affected (0.14 sec)mysql> create table t2(id int,hiredate datetime);Query OK, 0 rows affected (0.01 sec)mysql> insert into t1 values(1,now());Query OK, 1 row affected (0.06 sec)mysql> insert into t1 values(2,now());Query OK, 1 row affected (0.00 sec)mysql> insert into t2 values(1,now());Query OK, 1 row affected (0.00 sec)mysql> insert into t2 values(2,now());Query OK, 1 row affected (0.00 sec)
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:如何在删除ibdata1和ib_logfile的情况下恢复MySQL数据库
关键词:MYSQL
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。