如何从PHPMyAdmin导出MySQL数据库并将其导入SQLite?

时间:2014-03-26 14:24:54

标签: mysql sql sqlite

我想从PHPMyAdmin(或MySQl Workbench)导出数据库并将其导入SQLite数据库,这样我就可以进行本地编辑和测试而不会搞砸实时版本。我是SQL的新手,所以所有的导出选项等对我来说相当密集。我尝试使用默认导出设置PHPMyAdmin和命令

sqlite3 test_db.db < maindb.sql

以及

sqlite3--> .read maindb.sql

但是这些会引发一系列语法错误,并且没有这样的表格&#39;错误。

我也尝试了经常引用的脚本script found here,但是当我尝试使用MySQL Workbench的导出来运行它时,使用命令:

943776/mysql2sqlite.sh maindb.sql | sqlite3 test_db.sqlite

我收到以下错误:

mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/var/run/mysql.sock' (2) when trying to connect

我没有正确配置出口吗?

2 个答案:

答案 0 :(得分:3)

请注意引用的脚本连接到数据库服务器本身。它确实期待转储!

./mysql2sqlite -h example.com -u root -pMySecretPassWord myDbase | sqlite3 database.sqlite

这是脚本的执行方式。使用host,username,passwort和要转储的mysql数据库。

由于不同DBMS(如MySQL和sqlite3)之间的数据库转储和DBMS功能可能会有很大差异,我建议安装本地MySQL服务器而不是使用sqlite3。当您对sqlite3进行更改时,您获得了哪些优势,而您无法在不进行更改的情况下将其应用于MySQL生产数据库?

答案 1 :(得分:1)

另一种解决方案是导出数据库的sql转储,然后将其导回phpLiteAdmin。从那里,您可以在浏览器中管理您的sqlite数据库。如果要导出它,只需打开存储数据库的文件夹并复制数据库文件。

此解决方案不需要乱用脚本,如果您使用的是Mac并且使用MAMP,那么它特别方便,因为phpLiteAdmin预装了它。