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