mysql_config_editor 安全工具登录Mysql

如果您当前服务器mysql版本5.6.6及以后,且在命令行或者shell脚本中mysql语句包含有密码,运行时则会出现警告:Warning: Using a password on the command line interface can be insecure. 这是mysql避免明文密码出现在脚本中做的安全提升。

解决方案:
mysql_config_editor出现在mysql5.6.6以后的版本,可以给指定的连接和密码生成一个加密文件.mylogin.cnf默认位于当前用户家目录下,权限600。
通过该文件可以使用mysql、mysqladmin等直接登录,避免明文密码出现在脚本中
使用该特性要求当前主机的mysql版本在5.6.6版本及以上。
配置加密的登录文件:

也可以把把--host 写上
mysql_config_editor set --login-path=ip --host=localhost --user=ip --password
--login-path 登录路径名称,可以任意,一个用户,对应一个login-path

--host 主机,可以是IP,localhost,主机域名(前提是你的服务器上可以解析出这个主机域名)
--user 能登录mysql 数据库的用户名
--password 密码  注意:这后面不能直接跟=密码,必须 按回车键,输入密码。

输入用户的密码,必须要保证密码正确。

查看生成的文件
vim ~/.mylogin.cnf (生成的加密的登录文件名是固定的不能改)





vim \cat无法查看到内容。
mysql_config_editor print --all #可以通过这条命令查看到内容。

一个加密文件中可以添加多个登录路径名称,也就是说,可以写多条语句,但是登录路径名称不能相同。

删除某个用户的加密登陆:mysql_config_editor remove --login-path=root


登录测试:


应用在脚本中:



重置配置所有的mysql用户的加密登录信息,相当于清除。
mysql_config_editor reset 
++++++++++++++++++++++++++
可以使用以下参数简化命令:
mysql_config_editor set -? #查看参数