mysql_config_editor是MySQL5.6.6中引入的,在5.6.10中正式GA。
藉助mysql_config_editor工具將登錄MySQL服務的認證信息加密保存在.mylogin.cnf文件(默認位於用戶主目錄) 。以後,MySQL客戶端工具可經過讀取該加密文件鏈接MySQL,避免重複輸入登陸信息,避免敏感信息暴露。
.mylogin.cnf和默認的my.cnf文件不一樣,是不能像my.cnf直接查看其中的加密內容的。mysql
1.mysql_config_editor的語法linux
mysql_config_editor [program_options] command [command_options]
2.查看幫助sql
# ./mysql_config_editor --help ./mysql_config_editor Ver 1.0 Distrib 5.6.37, for linux-glibc2.12 on x86_64 Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. MySQL Configuration Utility. Usage: ./mysql_config_editor [program options] [command [command options]] -?, --help Display this help and exit. -v, --verbose Write more information. -V, --version Output version information and exit. Variables (--variable-name=value) and boolean options {FALSE|TRUE} Value (after reading options) --------------------------------- ---------------------------------------- verbose FALSE Where command can be any one of the following : set [command options] Sets user name/password/host name/socket/port for a given login path (section). remove [command options] Remove a login path from the login file. print [command options] Print all the options for a specified login path. reset [command options] Deletes the contents of the login file. help Display this usage/help information.
3.建立一個login-path/profilebash
# mysql_config_editor set --login-path=abce --user=root -p
其中--login-path表示指定經過mysql客戶端登陸時的標識socket
建立結束就能夠在用戶主目錄下看到該profile文件了:工具
# ls -a ~ |grep cnf .mylogin.cnf
能夠根據須要建立多個登錄profilethis
# mysql_config_editor set --login-path=abce1 --user=root -p # mysql_config_editor set --login-path=abce2 --user=root -p
4.使用profile登錄加密
# mysql --login-path=abce Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 14 Server version: 5.6.37 MySQL Community Server (GPL) Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
5.查看全部的login-path/profilesorm
# mysql_config_editor print --all [abce] user = root password = ***** [abce1] user = root password = ***** [abce2] user = root password = *****
6.移除一個login-path/profileblog
# mysql_config_editor remove --login-path=abce2 # mysql_config_editor print --all [abce] user = root password = ***** [abce1] user = root password = ***** 也能夠某個login-path中的部分信息,好比: # mysql_config_editor set --login-path=abce3 --host=localhost # mysql_config_editor print --all [abce] user = root password = ***** [abce1] user = root password = ***** [abce3] host = localhost # mysql_config_editor remove --login-path=abce3 --host # mysql_config_editor print --all [abce] user = root password = ***** [abce1] user = root password = ***** [abce3]