mysql_config_editor是一種存儲mysql登陸信息的工具。
經過mysql_config_editor設置了登陸信息後,在用mysql
命令登陸數據庫時就能夠只用一個--login-path=name 的參數指定在mysql_config_editor中設置的名稱,而不用再輸入host,user,password等信息
例如:
mysql --login-path=5637
經過mysql_config_editor設置的登陸信息存儲在名爲.mylogin.cnf的配置文件中。在Windows系統中,這個文件在%APPDATA%\MySQL目錄下,在linux系統中,這個文件在用戶的home目錄下mysql
在.mylogin.cnf中,能夠存放多個數據庫的登陸信息,每一個信息是一個login path選項組,每一個組由由一個方括號括起來的名稱做爲開頭,而後由host,user,password,port,socket中的一個或多個組成。
例如:
[client]
user = mydefaultname
password = mydefaultpass
host = 127.0.0.1
[mypath]
user = myothername
password = myotherpass
host = localhostlinux
在經過mysql
命令鏈接數據庫時,若是沒有指定--login-path選項或者沒有指定--login-path=name將會默認讀取.mylogin.cnf中client的配置內容。(就算指定了--login-path=name,也會讀取client的內容。並且在.mylogin.cnf中,後面的內容會覆蓋掉前面的內容,也就是說,如過clinet在name以後,那麼在name中和client中同時設置了user,host之類的值,會以client中的爲準。)
在.mylogin.cnf中的設置優先級高於其餘配置文件中的,可是低於在命令行中輸入的參數。sql
經過set命令能夠添加login path
例如:mysql_config_editor set --login-path=name --host=hostname --user=user_name
數據庫
set命令具備如下參數:服務器
經過remove命令能夠刪除login path或者login path中的指定選項。若是不指定--login-path,將刪除clinet中的相關內容。
remove具備如下參數socket
經過reset命令能夠清空全部的配置信息mysql_config_editor reset
ide
經過print命令能夠顯示已經設置過的配置文件信息mysql_config_editor print
print命令具備如下參數:工具
在本地服務器上存在5637和5719兩個版本的數據,他們具備不一樣的socket文件以及root密碼。信息以下:
ps-ef |grep mysqld
爲了方便鏈接,經過mysql_config_editor設置login path
mysql_config_editor set --login-path=5637 --socket=/tmp/mysql5637.sock --user=root --password
mysql_config_editor set --login-path=5719 --socket=/tmp/mysql5719.sock --user=root --password
檢查login path是否設置成功
mysql_config_editor print --all
經過login path鏈接數據庫
mysql --login-path=5719
mysql --login-path=5637命令行