2011-01-23 77 views
0

我有這個非常奇怪的Web主機,這是週末,系統不可用,我們需要對網站進行更改。要做到這一點,我們需要一個數據庫備用位置,所以需要一個數據庫備份。我可以用我的用戶帳戶進行SSH連接,並發現我可以在Linux上運行「mysql」命令行命令。但是當我嘗試使用mysqldump命令時,它一直告訴我user @ localhost是不允許的。我閱讀了關於mysqldump的文檔,並嘗試了各種各樣的變體,然後嘗試查看命令本身以查看它是否過時以及是否需要使用較老的指令。僅使用MySQL命令備份MySQL數據庫

所以,沒有運氣。我們所能做的就是運行mysql命令。同樣,我們試圖在這臺主機上安裝phpmyadmin,但是我們遇到了問題,我們得到的是白頁而不是錯誤,無法查看錯誤日誌。我在PHP中做了通常的步驟來將錯誤轉儲到屏幕上,但是在運行phpmyadmin setup.php時我們只會得到一個白頁。

那麼,有沒有一種方法可以純粹使用「mysql」命令導出我們的數據庫模式和數據?

+1

如果您可以使用命令行mysql連接並查詢您的數據庫,那麼mysqldump應該可以正常工作 - 發生了什麼問題/報告了哪些錯誤? – 2011-01-23 19:55:30

+0

它說「user @ localhost」訪問被拒絕。 (我不能透露誰是「用戶」,當然這是我通過mysql命令正確使用的用戶。)另外,我嘗試了--user「user @ localhost」,--user「[email protected] 「和 - 用戶」用戶「 - 都無濟於事。 – Volomike 2011-01-23 20:25:13

+0

我已經添加了一個答案,應該*希望*排序你。 :-) – 2011-01-23 20:44:09

回答

2

如果你可以使用正常的mysql命令,你應該能夠使用mysqldump命令,例如:

mysqldump -u [username] -p [database name] > [output filename] 

例如,是你的用戶名是「admin」,你的數據庫名是「epic_website」,你想把SQL保存到當前目錄下名爲「epic_website_20110123.sql」的文件中,你可以使用:

mysqldump -u admin -p epic_website > epic_website_20110123.sql 

當您返回時,系統會要求您輸入與「admin」用戶關聯的密碼。