2014-03-26 34 views
2

我想从PHPMyAdmin(或MySQl Workbench)导出数据库并将其导入到SQLite数据库,以便我可以在不影响实时版本的情况下进行本地编辑和测试。我对SQL很陌生,所以所有的导出选项等都对我来说非常密集。我已经使用默认导出设置的phpMyAdmin用命令如何从PHPMyAdmin导出MySQL数据库并将其导入到SQLite?

sqlite3 test_db.db < maindb.sql 

以及

sqlite3--> .read maindb.sql 

尝试,但这些扔了一堆语法错误和“没有这样的表”错误。

我也曾尝试经常被引用的脚本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 

我没有正确配置导出?

回答

3

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

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

这是脚本应该执行的方式。用主机,用户名,密码和你想转储的mysql数据库。

由于数据库转储和DBMS功能在不同的DBMS(如MySQL和sqlite3)之间可能会严重不同,我建议安装本地MySQL服务器而不是使用sqlite3。当你对sqlite3进行更改时,你有什么优势?你不能在没有改变的情况下应用到MySQL生产数据库?

+0

如何基于当前数据库创建本地MySQL服务器? – realityinabox

+1

[安装本地MySQL服务器。](https://dev.mysql.com/downloads/mysql/)[使用生产服务器中的MySQL Workbench导出整个数据库。](http://dev.mysql.com/doc /workbench/en/wb-mysql-connections-navigator-management-data-export.html)[将其导入到本地MySQL服务器。](http://dev.mysql.com/doc/workbench/en/wb- mysql-connections-navigator-management-data-import-restore.html) – GhostGambler

+0

我已经安装了第一个链接中的程序,并且以前使用过Workbench来导出数据库,但它是我本地服务器的实际设置困惑。坦率地说,我不知道从哪里开始。 – realityinabox

1

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

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

相关问题