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命令行

相关文章
相关标签/搜索