login-path是MySQL5.6.6開始支持的新特性。經過藉助mysql_config_editor工具將登錄MySQL服務的認證信息加密保存在.mylogin.cnf文件(默認位於用戶主目錄) 。以後,MySQL客戶端工具可經過讀取該加密文件鏈接MySQL,避免重複輸入登陸信息,避免敏感信息暴露。html
配置:mysql
mysql_config_editor set --login-path=root --user=root --host=127.0.0.1 --port=3306 --socket=/data/mysql/mysql.sock --password
以後輸入密碼,密碼就被加密起來了,下次使用的話,直接mysql --login-path=root就能夠登陸。固然root能夠是其餘有意義的字符串。sql
其中可配置項
-h,--host=name 添加host到登錄文件中
-G,--login-path=name 在登陸文件中爲login path添加名字(默認爲client)
-p,--password 在登錄文件中添加密碼(該密碼會被mysql_config_editor自動加密)
-u,--user 添加用戶名到登錄文件中
-S,--socket=name 添加sock文件路徑到登錄文件中
-P,--port=name 添加登錄端口到登錄文件中shell
顯示配置:
mysql_config_editor print --login-path=root #顯示執行的login-path配置
mysql_config_editor print --all #顯示全部的login-path信息bash
刪除配置:
mysql_config_editor remove --login-path=rootsocket
重置配置:
mysql_config_editor reset --login-path=root工具
使用login-path登陸:
shell>mysql --login-path=root加密
多使用幫助
shell> mysql_config_editor --help set
shell> mysql_config_editor set --helpcode
若要登陸其餘主機、其餘端口,或者添加其餘額外參數,直接在上述命令後添加便可htm
mysql_config_editor set --login-path=root --user=root --host=127.0.0.1 --port=3306 --socket=/data/mysql/mysql.sock --password
mysql --login-path=root
mysql --login-path=root -e "show databases;"
mysql_config_editor set --login-path=dev-root --user=liyudev --host=10.0.0.111 --port=3306 --password
mysql --login-path=dev-root
mysqldump --login-path=dev-root ly2_base > ly2_base.sql
在使用mysqldump 定時備份的時候 須要制定login-path的環境變量
export MYSQL_TEST_LOGIN_FILE=/root/.mylogin.cnf
參考資料
https://dev.mysql.com/doc/refman/5.6/en/mysql-config-editor.html