2016-01-21 146 views
0

我正在嘗試做一個非常標準的程序;將數據庫從一臺服務器導出到另一臺服務器。 (我也許應該通知你,它是2個不同的虛擬主機酒店,但它應該是同一種數據庫; MySql)MySQL導出/導入錯誤 - 用戶被拒絕+訪問被拒絕

出口順利,沒有任何問題。

但是當我做進口,它說

#1142 - CREATE command denied to user '*******'@'*******' for table 'ide_commentmeta" 

然後我做了一些研究 - 我找到了一些解決方案,在這裏對堆棧溢出,這給我帶來了一步 - 使得該用戶並授予特權時對此。但是,這給了我這個錯誤:

"#1227 - Access denied; you need (at least one of) the CREATE USER privilege(s) for this operation" 

誰能告訴我如何做一個MySQL數據庫,在用戶和數據庫名和密碼是不同的最流暢expot /進口?

Thanx提前。

// Brokop

+0

你知道你不應該在這裏發佈憑證,對吧?一些蠻力攻擊和你的分貝是...泡芙!.. :) –

+0

嗨亞歷克斯 哎呦。謝謝。菜鳥的錯誤:) 有關如何使操作工作的任何建議? – brokop

回答

0

你可以試試這個。它管道轉儲通過ssh到新服務器:

mysqldump -uU1 -pP1 dbname | ssh [email protected] "mysql -uU2 -pP2 -D targetDbName" 

其中:
U1是您出國用戶 P1是對應的密碼
LU是「服務器名稱」 linux的用戶名
serverName是你的目標服務器(IP,主機名...)
U2是導入用戶 P2是相應的密碼

注意:
1)我假設你可以將publicKey認證設置爲serverName
2)U1先後爲dbname數據庫
3)U2全出口權已經根狀權限導入數據庫

希望這是有道理的和有幫助。

+0

謝謝亞歷克斯。 在sql-file中,我把這行代碼? 我應該把你的代碼行從頭開始,或者我有進步的用戶和授予過程後? – brokop

+0

您需要從源服務器上的終端運行此命令(注意:從那裏您需要能夠「ssh」到目標服務器)。這不是你可以附加到一個sql文件的行。這一行*確實*出口和進口。 –