MySQL 安全登陆工具 mysql_config_editor

mysql_config_editor

帮助信息请查看

man mysql_config_editor 或 mysql_config_editor -? 或 mysql_config_editor set -?

该工具会在用户家目录生成二进制文件:.mylogin.cnf

该文件格式由选项组组成,每个选项组被称为login path ,仅包含特定选项: host, user, password, port and socket 用于用户验证。

用法:

mysql_config_editor set [command options] Sets user name/password/host name/socket/port for a given login path (section).

mysql_config_editor remove [command options] Remove a login path from the login file.

mysql_config_editor print [command options] Print all the options for a specified login path.

mysql_config_editor reset [command options] Deletes the contents of the login file.

设置 login path

[root@mysql1 ~]# mysql_config_editor set -?

-h, --host=name Host name to be entered into the login file.
 -G, --login-path=name Name of the login path to use in the login file. (Default: client)
 -p, --password Prompt for password to be entered into the login file.
 -u, --user=name User name to be entered into the login file.
 -S, --socket=name Socket path to be entered into login file.
 -P, --port=name Port number to be entered into login file.

如:

mysql_config_editor set -G mypath -u root -p -S /u01/data/mysql5.7.25/mysql.sock

mysql_config_editor set -G user1 -u user1 -p -S /u01/data/mysql5.7.25/mysql.sock

显示 login path

mysql_config_editor print --all

mysql_config_editor print -G user1

[root@mysql1 ~]# mysql_config_editor print --all
[client] # 默认 login path
[mypath]
user = root
password = *****
socket = /u01/data/mysql5.7.25/mysql.sock
[mypath1]
user = root
password = *****
socket = /u01/data/mysql5.7.25/mysql.sock
[user1]
user = user1
password = *****
socket = /u01/data/mysql5.7.25/mysql.sock

删除 login path

mysql_config_editor remove -G user1

[root@mysql1 ~]# mysql_config_editor remove -G user1
[root@mysql1 ~]# mysql_config_editor print --all
[client]
[mypath]
user = root
password = *****
socket = /u01/data/mysql5.7.25/mysql.sock
[mypath1]
user = root
password = *****
socket = /u01/data/mysql5.7.25/mysql.sock

重置 login file

mysql_config_editor reset


[root@mysql1 ~]# mysql_config_editor reset
[root@mysql1 ~]# mysql_config_editor print --all  # 文件已被清空

 

使用 login path

mysql --login-path=mypath

mysqladmin  --login-path=mypath


[root@mysql1 ~]# mysqladmin --login-path=mypath status
Uptime: 11918 Threads: 1 Questions: 18 Slow queries: 0 Opens: 106 Flush tables: 1 Open tables: 99 Queries per second avg: 0.001