12 个答案:
答案 0 :(得分:71)
您想将mdb转换为mysql(直接转移到mysql或mysql转储)?
访问MySQL是一个将Microsoft Access数据库转换为MySQL的小程序。
向导界面。
将数据直接从一台服务器传输到另一台服务器。
创建转储文件。
选择要转移的表格。
选择要转移的字段。
转移受密码保护的数据库。
支持共享安全性和用户级安全性。
可选的索引传输。
可选的记录转移。
字段定义中的默认值的可选传输。
标识并传输自动编号字段类型。
命令行界面。
轻松安装,卸载和升级。
有关屏幕截图的分步教程,请参阅上述链接。
答案 1 :(得分:41)
如果您可以访问安装了mdbtools的linux机器,则可以使用此Bash shell脚本(另存为mdbconvert.sh):
#!/bin/bash
TABLES=$(mdb-tables -1 $1)
MUSER="root"
MPASS="yourpassword"
MDB="$2"
MYSQL=$(which mysql)
for t in $TABLES
do
$MYSQL -u $MUSER -p$MPASS $MDB -e "DROP TABLE IF EXISTS $t"
done
mdb-schema $1 mysql | $MYSQL -u $MUSER -p$MPASS $MDB
for t in $TABLES
do
mdb-export -D '%Y-%m-%d %H:%M:%S' -I mysql $1 $t | $MYSQL -u $MUSER -p$MPASS $MDB
done
要调用它,只需像这样调用它:
./mdbconvert.sh accessfile.mdb mysqldatabasename
它将导入所有表格和所有数据。
答案 2 :(得分:26)
我修改了Nicolay77的脚本,将数据库输出到stdout(通常的unix脚本方式),这样我就可以将数据输出到文本文件或将其传递给我想要的任何程序。生成的脚本更简单,效果更好。
一些例子:
./to_mysql.sh database.mdb > data.sql
./to_mysql.sh database.mdb | mysql destination-db -u user -p
这是修改后的脚本(保存到to_mysql.sh)
#!/bin/bash
TABLES=$(mdb-tables -1 $1)
for t in $TABLES
do
echo "DROP TABLE IF EXISTS $t;"
done
mdb-schema $1 mysql
for t in $TABLES
do
mdb-export -D '%Y-%m-%d %H:%M:%S' -I mysql $1 $t
done
答案 3 :(得分:8)
正常工作并将所有关系导出到MySQL。
答案 4 :(得分:6)
试试Data Wizard for MySQL。它是一种用于将结构和数据从任何ADO兼容源(例如MS Access)转换为MySQL数据库的工具。
请参阅a brief guide to connection strings以构建MS Access文件的连接字符串。
答案 5 :(得分:5)
为了这个目的,我们多次使用ESF Database Convert。 DTS通常太过火热。 MySQL页面上的建议已经过时了。
答案 6 :(得分:5)
答案 7 :(得分:3)
我已经使用SQLYog Ultimate从mdb文件导入数据,这是非常简单的过程。
您可能需要安装这些支持工具。
并在下载SQLYog Ultimate
答案 8 :(得分:2)
我使用Mac我这样做转换;
打开MDB文件
导出为SQL
使用MySQL Workbench在MySQL中导入。
醇>
答案 9 :(得分:2)
这个mac工具MDB / ACCDB Viewer很适合我的需求。免费试用让我证明一切都做了所需,并导出了所有行的一半。需要完整版才能导出整个db / tables。
答案 10 :(得分:0)
如果你不太关心你要转换的.mdb文件的隐私,请知道这个网站允许我恢复两个前的.mdb Access数据库(记住ASP统治时的旧时代)网络?)只需两分钟:/
数据库在Excel文件中转换,每张表有一张。正是我需要的。恢复我的(非常)旧数据不可能更快......
每个表中都保存了ID,只需将其再次转换为mysql(将其保存为CSV格式)之后就可以了 - 再次,只需几分钟。
答案 11 :(得分:0)