2014-03-26 107 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預裝了它。

相關問題