在 MySQL 指令列模式下不輸入帳號密碼直接登入伺服器

在指令列模式下使用 mysql 指令登入伺服器時,正常情況下需要輸入帳號密碼進行登入,在安全考量上是很合情合理的事情;但是如果頻繁的進行相關作業(例如使用 mysqldump 個別匯出不同資料庫時),每一次都要輸入帳號密碼,會是一件令人困擾的事情。雖然在複製貼上的方法的情況下參數後面接上帳號與密碼就可以只輸入一次,但這種方式會讓帳號密碼曝光在 process monitor;在這種情況下,我們可以直接在家目錄建立一個 .my.cnf 檔進行一次性設定,之後無須輸入帳號密碼就可以登入伺服器。

1
2
3
4
5
6
7
[mysql]
user = calos
password = 123456

[mysqldump]
user = calos
password = 123456

其中,[mysql] 這一節的設定是用在使用 mysql 指令,而 [mysqldump] 則是在使用 mysqldump 時使用的。更多的設定可以參考 MySQL 官方說明文件

如果是將設定檔置於多人共用伺服器時,基於安全性考量,建議在作業完成後移除設定檔,或是使用 GnuPG 這類加密工具將設定檔進行加密,需要使用時再進行解密。


References:

comments powered by Disqus