推出使用我寫了一個腳本來備份我的MySQL數據庫。 mypassword
在我的腳本中顯示清楚,每個人都可以看到它與適當的權利。我也被告知關於/ proc問題(可以看到cmd運行的地方)。用mysqldump由cron和密碼安全
MySQL文檔說:
指定命令行中輸入密碼應被認爲是不安全的。請參閱第7.6節「確保您的密碼安全」。
我還沒有在任何地方發現這個神奇的7.6節。
什麼是處理自動mysqldump和密碼安全性的好習慣?
推出使用我寫了一個腳本來備份我的MySQL數據庫。 mypassword
在我的腳本中顯示清楚,每個人都可以看到它與適當的權利。我也被告知關於/ proc問題(可以看到cmd運行的地方)。用mysqldump由cron和密碼安全
MySQL文檔說:
指定命令行中輸入密碼應被認爲是不安全的。請參閱第7.6節「確保您的密碼安全」。
我還沒有在任何地方發現這個神奇的7.6節。
什麼是處理自動mysqldump和密碼安全性的好習慣?
引述MySQL的文檔(http://dev.mysql.com/doc/refman/5.1/en/password-security-user.html):
將您的密碼存儲在選項文件中。例如,在Unix上你可以列出在.my.cnf文件的[客戶]部分您的密碼在你的主目錄:
[client] password=your_pass
爲了保持密碼安全,文件不應該給任何人訪問,但你自己。爲了確保這一點,設置文件訪問模式400或600。例如:
shell> chmod 600 .my.cnf
到命令行命名包含密碼的特定選項文件,使用
--defaults-file=file_name
選項,其中file_name
是全路徑名到文件。
非常感謝你的回答!正是我需要的。 – localshred
嘗試此操作。一旦logrotate再次運行,我會在幾天內知道它是否符合我的需求。 –
糟糕的是,之後MySQL不會再問任何密碼。想要的只是在運行_mysqldump_時密碼不會暴露。 – ajaaskel
檢查出Keeping Passwords Secure爲一個很好的答案。您可以將密碼存儲在my.cnf文件中,更改該文件的權限以確保密碼安全。
您還可以檢查過此頁面上的最後一個註釋:
MYSQL_PWD = 「叮噹」 的mysqldump -ubackup - 全數據庫> dump.sql
添加到薩赫勒的回答以上,使用--defaults-額外文件
--defaults-額外文件 是用來告訴一個程序來讀取一個特定的選項文件除了標準選項文件。
而讀取--defaults-file而不是默認的my.cnf文件。
偉大的,有用的! – iwalktheline
必須是mysqldump的* first *參數,格式爲'--defaults-extra-file = my-file'。帶了我幾次迭代最後閱讀文檔... – semperos
這將按預期完成工作。 – ajaaskel
下面的方法對我的作品在Windows機器上,如果安裝了2個版本的MySQL,你不知道,當你運行mysqldump的my.ini文件被使用,這也將幫助:
1 ,C:\ ProgramData \ MySQL \ MySQL Server 5.6 \ my。INI,精細[客戶],它替換到:
[client]
user=my_user
password=my_password
2,使用這個命令:
C:\ Program Files文件\ MySQL服務器5.6 \ BIN> mysqldump的--default-EXTRA-file =」文件C:\ ProgramData \ MySQL的\ MySQL服務器5.6 \ my.ini的」 -u my_user db_to_export> db_to_export.sql
所有答案在這裏是件這麼共享一個完整的命令將做必要的,如果必須使用數據庫都很重,--single-transaction
和--lock-tables
這裏很重要
mysqldump --defaults-extra-file=/home/dangi/.my.cnf -u root --single-transaction --quick --lock-tables=false --all-databases (or) DATABASE | gzip > OUTPUT.gz;
注:答案是加入Avibodha和sahil答案,他們已經提出了觀點。我只是將他們的答案放在單個代碼片段中important measure should be taken at time of backing up live database
接受的答案將密碼存儲在純文本文件中,任何人都可以通過管理(root)訪問權限讀取該密碼。如果您的數據庫處於共享主機環境中,這是不可取的。
更好的選擇是使用mysql_config_editor
來創建名爲mysqldump
的加密登錄路徑。按照MySQL documentation:
mysql_config_editor加密.mylogin.cnf文件,所以它不能被解讀爲明文,並且當客戶端程序解密的內容僅用於存儲。通過這種方式,密碼可以以非明文格式存儲在文件中,以後可以不必在命令行或環境變量中公開。
以下命令將創建mysqldump
登錄路徑:
mysql_config_editor --login-path=mysqldump --host=your_hostname --user=your_username --password
你會被提示輸入您的密碼,您創建的登錄路徑將存儲在加密格式。除非您使用--login-path
命令行選項指定不同的登錄路徑,否則每當您將來調用它時,mysqldump
都會自動使用此登錄路徑。
這裏是你將如何創建一個加密的登錄路徑後調用mysqldump
:
mysqldump database_name > output_file
http://bugs.mysql.com/bug.php?id=13058閱讀張貼到bug報告的答案。它導致將密碼添加爲選項文件:http://dev.mysql.com/doc/refman/5.5/en/option-files.html。不知道這是否會有所幫助。 –
更多信息:http://www.webhostingtalk.com/showpost.php?s=044cd482ca45a726660c48eff2dfb704&p=5066589&postcount=10 –