今天记录一下ACCESS数据库如何在Linux平台上转换为MySQL数据库
准备工作:
mydata.mdb
MYSQL用户名为:root 密码为:root
新建一个MySQL数据库:mydb
第一步,.mdb文件在linux上是不能打开的,可以下载一个 mdbtools 工具打开
$ sudo apt install mdbtools
打开之后显示如下,mydata.mdb中有一张名为lt的表
第二步,进入mydata.mdb所在目录下,将ACCESS下的表lt导入到数据库mydb中
$ mdb-tables mydata.mdb #查看mydata.db下的表
# lt
$ mdb-schema mydata.mdb mysql | mysql -uroot -proot mydb
# 将ACCESS下的表lt导入到数据库mydb中
导入之后可以查看是否成功,注意现在只是导入了空表
第三步,将ACCESS下lt表中的数据导入数据库mydb下lt表中
$ mdb-export -I mysql -D '%Y-%m-%d %H:%M:%S' mydata.mdb lt | mysql -uroot -proot mydb
可能遇到的问题:第三步可能报错,大意是插入了不正确的字符串。原因是MySQL字符编码引起的,解决方案如下:
1.进入mysql
$ mysql -uroot -proot
mysql> show variables like 'character%';
可以看到 character_set_database 和 character_set_server 的编码方式为 latin1,我们需要修改为utf8,修改方式如下:
$ sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf
$ sudo gedit /etc/mysql/conf.d/mysql.cnf
重启mysql,成功
$ /etc/init.d/mysql restart