您的位置:首页 > 数据库 > MySQL

mysql之mysql_config_editor

2016-08-12 11:22 267 查看
本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn

mysql_config_editor允许你把登录的身份验证信息存储在一个名为.mylogin.cnf的文件里,该文件的位置在windows下是在%APPDATA%\MySQL目录下,linux下是在用户的家目录下。该文件可在以后通过MySQL客户端程序可以读取,以获得身份验证凭据用于连接到MySQL服务器。
mysql_config_editor允许你把登录的身份验证信息存储在一个名为.mylogin.cnf的文件里,该文件的位置在windows下是在%APPDATA%\MySQL目录下,linux下是在用户的家目录下。该文件可在以后通过MySQL客户端程序可以读取,以获得身份验证凭据用于连接到MySQL服务器。
并且,该工具至少在mysql5.6.6以上的版本才可用。

创建一个login-path:

shell> mysql_config_editor set --login-path=test --user=root --password --host=localhost
Enter password:


创建好后,.mylogin.cnf将保存在用户的家目录下,此处我用的是RHEL6,即/home/op下。该文件是不可读的,它类似于选项组,包含单个身份的验证信息。

在登录mysql时,可以指定创建的login-path名,然后直接进入:

shell> mysql --login-path=test-login
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.26-log Source distribution
…………………………………………………………


但是如果有人能够拿到该文件,通过一些方式,是可以将其破解并获取你的密码。

login-path只能被创建用户使用(OS层面)。

如果想看.mylogin.cnf里写了什么,可以使用:

shell> mysql_config_editor print --all
[test_login]
user = root
password = *****
[test]
user = root
password = *****
host = localhost
当然想只看某一个则可写作

shell> mysql_config_editor print --login-path=test
[test]
user = root
password = *****
host = localhost


若要删除.mylogin.cnf,则可以使用

shell> mysql_config_editor remove --login-path=test


其他选项:

FormatDescriptionIntroduced
–allPrint all login paths
–debug[=debug_options]Write a debugging log
–helpDisplay help message and exit
–host=host_nameHost to write to login file
–login-path=nameLogin path name
–passwordSolicit password to write to login file
–port=port_numTCP/IP port number to write to login file 5.6.11
–socket=pathThe Unix socket file name to write to login file 5.6.11
–user=user_nameUser name to write to login file
–verboseVerbose mode
–versionDisplay version information and exit
–warnWarn and solicit confirmation for overwriting login path
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: