Closed yikela1990 closed 5 months ago
版本:
1、表结构
2、先查一下真实数据是什么
3、使用ibd2sql解析数据 $ python3.6 main.py /data0/mysqlsandbox/data/sandboxes/msb_8_0_33/data/testdb/dts_test_table.ibd --sql > /data0/dts_test_table.sql
4、看一下dts_test_table.sql里的id=100063数据是什么
1、代码是直接clone的main分支的代码。 2、测试数据不好提供,因为我使用相同的表结构、插入了一条数据,然后再使用ibd2sql 导出data是没有任何问题的,您留一个邮箱,我把ibd文件发给你,这个表是纯测试数据,没有我们自己的数据。 3、debug日志: debug.zip
已发送邮箱
已发送邮箱
收到. 我看下先.
用ibd2sql 0.3 版本可以解析, 看来是新版本引入的BUG . 我尽快修改 1.0 的这个BUG
已发送邮箱
好的 修复了以后麻烦update一下这个issuse,我再测一下
好的 修复了以后麻烦update一下这个issuse,我再测一下
修复了, 你重新下载后, 再试下呢 修复记录:
# ibd2sql/innodb_page_index.py::record_header
self.instant = True
Traceback (most recent call last):
File "main.py", line 5, in
python3.6 main.py /data0/dts_test_table.ibd --sql > /data0/dts_test_table.sql
Traceback (most recent call last): File "main.py", line 5, in from ibd2sql.ibd2sql import ibd2sql File "/root/ibd2sql-main/ibd2sql/ibd2sql.py", line 7, in from ibd2sql.innodb_page_index import * File "/root/ibd2sql-main/ibd2sql/innodb_page_index.py", line 53 self.instant = True ^ TabError: inconsistent use of tabs and spaces in indentation
你clone的还是自己修改的呢, 修改的话, 我代码里面是tab 不是空格
再次运行,跑了一会就挂了
Traceback (most recent call last):
File "main.py", line 177, in
再次运行,跑了一会就挂了
Traceback (most recent call last): File "main.py", line 177, in ddcw.get_sql() File "/root/ibd2sql-main/ibd2sql/ibd2sql.py", line 229, in get_sql for x in _tdata: File "/root/ibd2sql-main/ibd2sql/innodb_page_index.py", line 226, in read_row self._read_all_row() File "/root/ibd2sql-main/ibd2sql/innodb_page_index.py", line 396, in _read_all_row _data[colno],_expage[colno] = self._read_field(col) File "/root/ibd2sql-main/ibd2sql/innodb_page_index.py", line 162, in _read_field data = self.read(size).decode() UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 53: invalid start byte
已修复, 请重新下载最新版本试下呢,
我测试了下, 全部解析出来了. 3.3GB左右, 700W行左右数据 (可以看 /proc/PID/io 的rchar 来预估速度哈)
修复记录: recorde header 1-2bit is instant flag
greate! 👍🏻
https://cloud.tencent.com/developer/article/2407144?pos=comment
这个文章有一个地方有问题,就是推荐使用import tablespace的方式将ibd文件导入到现有数据库中 1、缺少 表名.cfg 文件 2、alter table xxx import tablespace的时候会报lsn错误
--page-start 100 --page-count 1
解析指定的页https://cloud.tencent.com/developer/article/2407144?pos=comment
这个文章有一个地方有问题,就是推荐使用import tablespace的方式将ibd文件导入到现有数据库中 1、缺少 表名.cfg 文件 2、alter table xxx import tablespace的时候会报lsn错误
1、表结构
2、先查一下真实数据是什么
3、使用ibd2sql解析数据 $ python3.6 main.py /data0/mysqlsandbox/data/sandboxes/msb_8_0_33/data/testdb/dts_test_table.ibd --sql > /data0/dts_test_table.sql
4、看一下dts_test_table.sql里的id=100063数据是什么