最近需要一些数据,查到以后源格式为Acess的mdb,需要导出到mysql中,搜索后发现mdb viewer这个工具不错,记录一下。
在ubuntu下安装:
sudo apt-get install mdbtools mdbtools-gmdb libmdb2
然后Dash主页里就有MDB Viewer了,直接双击mdb文件就能打开查看数据了。
同时,还有一些强大的命令行工具支持数据的操作,这里主要用到了mdb-schema和mdb-export。
- mdb-schema:用于导出表的格式。简单用法为:Usage: mdb-schema [options] <file> [<backend>]。查看了一下man手册,发现这里的backend支持多种数据库格式,“Specifies target DDL dialect. Supported values are access, sybase, oracle, postgres, and mysql. If not specified the generated DDL will be in access format.“。于是,直接执行:mdb-schema data.mdb mysql > data.sql,出来就是能直接导入mysql的sql文件了。
- mdb-export:用于导出具体数据。简单用法为:Usage: mdb-export [options] <file> <table>。这个默认会将所有数据导出成csv的格式,同时还提供了“-I”选项可以导出为insert语句,“-I <backend> INSERT statements (instead of CSV)“。这里也是支持各种数据库格式,于是,执行:mdb-export -I mysql data.mdb >> data.sql。然后,把data.sql导入mysql就可以了。
在导入数据的时候发现速度很慢,29万条的数据到了差不多四个多小时,有时间研究一下是怎么回事。