mysql_config_editor

簡介

mysql_config_editor是一種存儲mysql登陸信息的工具。
經過mysql_config_editor設置了登陸信息後,在用mysql命令登陸數據庫時就能夠只用一個--login-path=name 的參數指定在mysql_config_editor中設置的名稱,而不用再輸入host,user,password等信息
例如:
mysql --login-path=5637
mysql_config_editor
經過mysql_config_editor設置的登陸信息存儲在名爲.mylogin.cnf的配置文件中。在Windows系統中,這個文件在%APPDATA%\MySQL目錄下,在linux系統中,這個文件在用戶的home目錄下mysql

.mylogin.cnf的格式

在.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

經過mysql_config_editor設置login path

添加login path

經過set命令能夠添加login path
例如:mysql_config_editor set --login-path=name --host=hostname --user=user_name數據庫

set命令具備如下參數:服務器

  • --help 顯示幫助
  • --login-path=name,-G name
  • --host=host_name,-h host_name 主機名
  • --password,-p 密碼,注意這個地方不能使用「=」直接寫入密碼
  • --port=port_num,-P port_num 端口號
  • --socket=file_names,-S file_name 文件名
  • --user=user_name,-u user_name 用戶名
  • --warn,-w 默認開啓,提示警告信息,若是要忽略警告,使用--skip-warn 參數
    示例:
    mysql_config_editor

    刪除login path

    經過remove命令能夠刪除login path或者login path中的指定選項。若是不指定--login-path,將刪除clinet中的相關內容。
    remove具備如下參數socket

  • --host,-h 主機名
  • --login-path=name,-G name login path的名稱,若是不指定,默認爲clinet
  • --password,-p 密碼
  • --port,-P 端口號
  • --socket,-S socket文件
  • --user,-u 用戶名
  • --warn,-w 開啓,提示警告信息,若是要忽略警告,使用--skip-warn 參數

清空login path

經過reset命令能夠清空全部的配置信息
mysql_config_editor reset
mysql_config_editoride

顯示login path

經過print命令能夠顯示已經設置過的配置文件信息
mysql_config_editor print
print命令具備如下參數:工具

  • --all 顯示全部login-path的信息
  • --login-path=name,-G name 顯示指定名稱的login path的信息
    若是不指定參數,默認顯示名稱爲client的login path的信息
    若是同時指定了--all和--login-path=name,那麼顯示全部login path的信息
    經過print命令顯示的信息,其中的密碼會以******替代
    示例:
    這裏因爲沒有名稱爲client的login path,全部不加參數的print不會顯示任何內容。
    mysql_config_editor

使用示例

在本地服務器上存在5637和5719兩個版本的數據,他們具備不一樣的socket文件以及root密碼。信息以下:
ps-ef |grep mysqld
mysql_config_editor
爲了方便鏈接,經過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
mysql_config_editor
檢查login path是否設置成功
mysql_config_editor print --all
mysql_config_editor
經過login path鏈接數據庫
mysql --login-path=5719
mysql --login-path=5637
mysql_config_editor
mysql_config_editor命令行

相關文章
相關標籤/搜索