2015-10-20 16 views
0

我在我的筆記本電腦上安裝了mysql,並將我的數據庫文件夾複製到默認的db文件夾。在mysql工作臺,我可以看到我的新數據庫和它的表,但我看不到任何列,我不能查詢表,當我這樣做,我得到的表不存在的錯誤。哪裏不對?將現有的數據庫連接到mysql

+0

嗨Matthijs,你究竟是什麼意思_copied我的數據庫文件夾默認db folder_?這是來自另一個數據庫實例嗎?在這種情況下,你最好做一個數據庫轉儲並導入它。 – mark

+0

Oké,所以將數據庫傳輸到另一臺服務器的正確方法是進行轉儲並導入它? – Matthijs

+0

是的,這是正確的方法 – mark

回答

1

取決於你對MySQL的熟悉程度,你可以使用MySQL Workbench導出和導入數據或使用mysqldump。對於MySQL工作臺,看看這裏的手冊:

https://dev.mysql.com/doc/workbench/en/wb-admin-export-import.html

要擁有完全控制權,使用mysqldump:

https://dev.mysql.com/doc/refman/5.0/en/mysqldump-sql-format.html

基本上它的工作原理如下。在源計算機,執行:

mysqldump --databases db1 db2 db3 > dump.sql 

招dump.sql到目標計算機,並執行

mysql -u username -p -h 192.168.0.12 < dump.sql 

(與MySQL服務器的IP地址替換192.168.0.12,用戶名與用戶是有足夠的權限)

使用mysqldump的好處是,你可以調整dump.sql(例如更改數據庫類型,刪除部分數據等)

與往常一樣,當你正在做這些類型的操作時,要小心備份等。

1

移動文件的物理過去已被接受(僅適用於MyISAM表格),但不應再用於傳輸數據庫。而是導出數據並將其導入新位置。做到這一點的一種方法是轉儲(這是當前結構+數據的快照)並導入該轉儲。另一種方式,尤其是使用MySQL Workbench的方法是遷移。啓動遷移向導(通過數據庫菜單),爲目標選擇另一個源數據庫(連接),選擇要傳輸的對象並按照進一步的步驟操作。數據傳輸然後直接在應用程序中完成。

如果源服務器和目標服務器都不在本地計算機上,那麼MySQL Workbench中就有專門的服務器。它可以創建適當的導入和導出腳本,您可以直接在機器上運行該導出和導出腳本以進行導出和導入,這些腳本隨時可用於特定的操作系統和服務器類型如果要從其他數據庫產品(例如DB2 - > MySQL)遷移,這尤其有用。