我這里有一個奇怪的錯誤。我正在執行的命令是這樣的:
mysqldump -u root -ppass kodi_video119 | mysql -h192.168.178.73 -u kodi -ppass kodi_video119
當我通過 SSH 執行它時一切正常,但是當我將它保存到一個檔案并執行這個檔案時,我收到以下錯誤:
mysqldump: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
'RROR 1102 (42000): Incorrect database name 'kodi_video119
mysqldump: Got errno 11 on write
我無法在該錯誤號上使用 google 找到任何結果。當我直接從 SSH 執行它時,允許用戶寫入并且一切正常。但是使用相同的 SSH 會話(作為 root 用戶)只是執行嵌入在檔案中的命令它不起作用。
這里出了什么問題?我使用 nano 創建了檔案并使用 nano 保存了它。然后 chmod x 并執行 ./test
uj5u.com熱心網友回復:
默認情況下,當您使用 時mysqldump DB,輸出包括表創建陳述句,但不包括CREATE DATABASE陳述句。它只是假設您首先創建了一個空架構。
因此,您可以先執行此操作來創建架構:
mysqladmin -h192.168.178.73 create kodi_video119
mysqldump kodi_video119 | mysql -h192.168.178.73 kodi_video119
(為簡潔起見,我省略了 -u 和 -p 選項)
或者,您可以使用該-B選項,也就是--databases。此選項允許您指定一個或多個資料庫,并且輸出包括CREATE DATABASE每個資料庫的陳述句,然后再創建和填充表。您可以將它與單個資料庫引數一起使用:
mysqldump -B kodi_video119 | mysql -h192.168.178.73 kodi_video119
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/370500.html
