欢迎光临
我们一直在努力

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设置的登录信息存储在名为.mylogin.cnf的配置文件中。在Windows系统中,这个文件在%APPDATA%\MySQL目录下,在linux系统中,这个文件在用户的home目录下

.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 = localhost

在通过mysql命令连接数据库时,如果没有指定–login-path选项或者没有指定–login-path=name将会默认读取.mylogin.cnf中client的配置内容。(就算指定了–login-path=name,也会读取client的内容。而且在.mylogin.cnf中,后面的内容会覆盖掉前面的内容,也就是说,如过clinet在name之后,那么在name中和client中同时设置了user,host之类的值,会以client中的为准。)
在.mylogin.cnf中的设置优先级高于其他配置文件中的,但是低于在命令行中输入的参数。

通过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 参数
    示例:
    删除login path

    通过remove命令可以删除login path或者login path中的指定选项。如果不指定–login-path,将删除clinet中的相关内容。
    remove具有以下参数

  • –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

显示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不会显示任何内容。

使用示例

在本地服务器上存在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

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。