一般來說,我們會為每個mysql賬戶設定密碼,這樣是安全了,但使用和維護起來就不友善了。
每次登入都要輸入密碼,尤其是調用mysql client工具時,如果直接将密碼寫在client工具的選項裡,則是非常危險的行為,從曆史指令就能看到密碼了,并且會有類似下面的提示:
mysql: [Warning] Using a password on the command line interface can be insecure.
這時候,我們其實可以利用 login-path 功能來提高安全性及便利性。
login-path 特性是MySQL 5.6新增的。
首先,利用 mysql_config_editor 配置login-path:
#選項 ”-G lp-mysql56-38-3306”設定login-path的别名
1.生成.mylogin.cnf
mysql_config_editor set -G lp-mysql56-38-3306 -S /var/lib/mysql/mysql.sock -uroot -p
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAnYldHL0FWby9mZvwFN4ETMfdHLkVGepZ2XtxSZ6l2clJ3LcV2Zh1Wa9M3clN2byBXLzN3btgHL9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsQTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SNyQDO4QzMjNWZmZGZkVTNzYzX1EjNzgDM0IzLcBTMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
執行完成後 就會在該使用者的 $HOME目錄下生成 .mylogin.cnf 檔案:
這是個加密的二進制檔案,即便用明文方式檢視,也是無法顯示密碼的:
mysql_config_editor print --all
2.接下來可以利用 login-path 很友善的登入 mysqld 而無需額外的密碼
(1).原有方式
(2).login-path方式
mysql --login-path=lp-mysql56-38-3306 -e "show databases"