2014-10-12 115 views
1

我需要將我的數據庫從舊服務器遷移到新服務器。通過傳輸數據庫,我有一個非常大的問題,因爲我有一個5GB的大型數據庫。我試圖使用c panel transfer轉移,但我不能用它。我需要一種更有效的方式來傳輸數據。 任何人都可以指導我完整的傳輸細節?如何使用導入和導出進行傳輸,還是需要使用其他方法?請指導我!如何將大型數據庫遷移到新服務器

mysql類型是myisam,大小是5gb。

答案對我有幫助。

對不起英語不好。

+0

談論「沒用」。 – ChiefTwoPencils 2014-10-12 08:12:14

+0

朋友在[DBA Stackexchange]上的相關問題(http://dba.stackexchange.com/questions/174/how-can-i-move-a-database-from-one-server-to-another)。 – aug 2014-10-12 08:13:01

+0

5GB大?我希望我的數據庫非常小。 5GB比我現有手機上的RAM少。 – Mirko 2017-12-06 17:55:55

回答

4

您可以嘗試命令行,如果你有機會到SSH用於服務器的命令之下,如果不是你可以嘗試使用Navicat的應用程序同步數據庫

SSH命令數據庫 採取的mysqldump http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

使用

tar -zcvf db.tar.gz db.sql 

現在上傳tar.gz文件到其他SERV創建SQL轉儲文件的焦油球呃使用scp命令

scp -Cp db.gz {username}@{server}:{path} 

使用SSH使用Linux 解壓文件CMD

tar -zxvf db.tar.gz 

導入到數據庫MySQL的 -u {用戶名} {-p}數據庫< db.sql其他服務器上登錄現在

請看看語法雖然語法將工作,但認爲這是唯一的方向 謝謝..

0

對於大型數據庫,如果您有SSH訪問服務器,我會建議使用mysqldump。

manual

使用mysqldump --help,看看有什麼可供選擇。

最簡單的(儘管不是最快)的方式兩臺機器之間移動數據庫是運行在其上的數據庫所在的機器上運行以下命令:

shell> mysqladmin -h 'other_hostname' create db_name 
shell> mysqldump db_name | mysql -h 'other_hostname' db_name 

如果你想複製數據庫從遠程機器通過慢速網絡,可以使用以下命令:

shell> mysqladmin create db_name 
shell> mysqldump -h 'other_hostname' --compress db_name | mysql db_name 

您也可以轉儲保存在一個文件,傳送文件到目標機器,然後將文件加載到數據庫中。例如,你可以轉儲數據庫備份到源本機上的壓縮文件:

shell> mysqldump --quick db_name | gzip > db_name.gz 

轉移包含數據庫內容到目標機器的文件,並有運行這些命令:

shell> mysqladmin create db_name 
shell> gunzip < db_name.gz | mysql db_name 

你也可以使用mysqldump和mysqlimport來傳輸數據庫。對於大型表格,這比使用mysqldump快得多。在以下命令中,DUMPDIR表示用於存儲mysqldump輸出的目錄的完整路徑名。

首先,創建目錄爲輸出文件和轉儲數據庫:

shell> mkdir DUMPDIR 
shell> mysqldump --tab=DUMPDIR db_name 

然後在DUMPDIR目錄中的文件傳輸到目標機器上的一些相應的目錄和文件裝載到MySQL:

shell> mysqladmin create db_name   # create database 
shell> cat DUMPDIR/*.sql | mysql db_name # create tables in database 
shell> mysqlimport db_name DUMPDIR/*.txt # load data into tables 

不要忘記複製mysql數據庫,因爲這是存儲授權表的地方。您可能必須在新計算機上以MySQL根用戶身份運行命令,直到您擁有mysql數據庫。

在新機器上導入mysql數據庫後,執行mysqladmin flush-privileges,以便服務器重新加載授權表信息。

+0

我可以知道mysqldump的命令行 – azarudeen 2014-10-12 08:19:40

相關問題