2010-10-01 55 views
38

我從Windows命令行中運行以下命令來備份我的數據庫:問題使用mysqldump:「--defaults-額外的文件」選項沒有按預期工作

...\right_path\mysqldump --add-drop-database --databases my_database_name 
         --defaults-extra-file=d:\1.cnf 

其中d:\1.cnf包含以下內容:

[client] 
user="my_user" 
password="my_password" 

不幸的是,我得到了以下錯誤消息:

mysqldump: unknown variable 'defaults-extra-file=d:\1.cnf' 

如果我這樣做:

...\right_path\mysqldump --add-drop-database --databases my_database_name 
         --user="my_user" --password="my_password" 

它按預期工作。

我在做什麼錯?

回答

72

我找到了答案:--defaults-extra-file必須是第一個選項。這按預期工作:

...\right_path\mysqldump --defaults-extra-file=d:\1.cnf 
         --add-drop-database --databases my_database_name 
+0

此外:當您將正常的「--defaults-file」參數傳遞給例如mysqld – domi27 2014-02-26 12:03:21

+4

在某些系統上,mysql和mysqldump被設置爲別名,例如'alias mysql ='mysql --skip-secure-auth''。所以,如果你先設置--defaults-extra-file並且它仍然不起作用,那麼檢查是否沒有這樣的別名,例如使用。 '哪個mysql'。 – 2014-09-17 09:08:03

1

我意識到這是Linux特定的,但我的搜索把我帶到這裏。

我使用bitnami的LAMP堆棧,並且發現了自己的「mysqldump的」實際上是一個腳本:

LD_LIBRARY_PATH=/opt/lampstack-5.5.3-0/mysql/lib:$LD_LIBRARY_PATH 
export LD_LIBRARY_PATH 
case "[email protected]" in 
    *--no-defaults*) 
    exec $0.bin "[email protected]" 
    exit 
esac 
exec $0.bin --defaults-file=/opt/lampstack-5.5.3-0/mysql/my.cnf "[email protected]" 

這似乎並沒有讓--defaults-file在...和工作(傳遞根據這裏公認的答案)。

+0

那麼是否有LAMP堆棧的解決方法? – 2017-04-05 19:16:50

+0

@LeifSegen直接調用.bin版本。 – 2017-04-07 12:49:41