MySQL 配置免密码登录的问题记录(mysql_config_editor Configuration)

 更新时间:2024年08月27日 10:41:23   作者:V1ncent Chen  
这篇文章主要介绍了MySQL 配置免密码登录的问题记录(mysql_config_editor Configuration),本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

当使用mysql, mysqldump, mysqladmin等客户端连接MySQL数据库服务器时,需要提供用户凭证信息。你可以在每次连接时都输入连接信息(用户名/密码/地址/端口等)或者将用户信息保存在my.cnf配置文件的[client]模块。

第一种方式每次都输入用户密码等信息,很繁琐。第二种方式虽然不需要输入信息,但密码是以明文的形式保存在配置文件中,存在安全风险。为了解决这两个问题,MySQL专门提供了mysql_config_editor工具来管理用户凭证,即避免了每次连接输入凭证,又避免密码泄露的问题。

一、mysql_config_editor简介

mysql_config_editor是MySQL自带的用户凭证管理工具,当安装完MySQL后,它就已经装好了。它的功能是加密管理用户连接信息,当使用其他的客户端工具例如mysql,mysqldump,mysqladmin连接数据库时,可以直接读取这些加密的连接信息,而不需要用户输入。

在mysql_config_editor中,连接信息叫做login-path(登录路径),用户需要使用set命令预先设置连接信息及对应的login-path名称,这些信息被保存在当前用户目录下的.mylogin.cnf文件中(这是一个二进制加密文件)。连接时候只需要指定login-path的名称,客户端就会通过预设的信息连接数据库。

使用mysql_config_editor --help命令查看该工具的帮助信息:

mysql_config_editor --help

二、mysql_config_editor配置

mysql_config_eidtor的主要配置命令有set,remove,print三个,分别用来配置、删除、打印login-path信息。

2.1 配置login-path

使用set命令可以设置login-path信息,常用的选项有:

  • –login-path 或 -G,指定login-path名称,如果省略就是client
  • –user 或 -u,指定连接用户名
  • –password 或 -p,指定密码
  • –host 或 -h,指定连接的服务器主机地址
  • –port 或 -P,指定连接端口
  • –socket 或 -S,指定Linux下本地连接的套接字文件

下面通过set命令新增一个login-path,由于没有显示指定名称,所以默认名是client,这里仅提供了用户名和密码:

mysql_config_editor set -uvincent -p

设置完成后使用print命令可以打印login-path的信息(密码是加密的),默认也是打印client:

mysql_coinfig_editor print

配置好之后,直接调用mysql命令,就可以连接数据库了,当mysql, mysqldump等客户端不提供任何连接信息时,默认会使用–login-path=client的配置登录:

mysql

查看一下连接信息,可以看到默认的主机是localhost,连接方式是Unix套接字:

status;

再额外配置一个远程的login-path,主机IP地址为172.16.1.38,指定login-path名称为remote:

mysql_config_editor set --login-path=remote -uvincent -h172.16.1.38 -P3306 -p

连接时显式指定–login-path=remote,就可以连接到远程数据库了:

mysql --login-path=remote

2.2 查看login-path

mysql_config_editor print --all命令可以打印所有的login-path信息,这里显示的就是刚才配置的client和remote信息:

mysql_config_editor print --all

在print后面跟上具体的名称来查看某个login-path信息(如果只有print则打印默认的client信息):

mysql_config_editor print --login-path=remote

2.3 删除login-path

当连接信息发生变化时(例如用户密码变了),你可以直接用set命令重新设置,这会覆盖原来的信息,达到更新的效果。

如果想删除某个login-path的信息,可以用remove移除login-path:

mysql_config_editor remove --login-path=remote

另外还有mysql_config_editor reset命令,它会清空配置文件,即删除所有的login-path,一般很少使用。

完成配置后,你就可以通过指定不同的login-path快速连接不同的数据库服务器了。

到此这篇关于MySQL 配置免密码登陆(mysql_config_editor Configuration)的文章就介绍到这了,更多相关MySQL 配置免密码登陆内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL中处理各种重复的一些方法

    MySQL中处理各种重复的一些方法

    这篇文章主要介绍了MySQL中处理各种重复的一些方法,包括对表和查询结果的重复的一些处理,需要的朋友可以参考下
    2015-05-05
  • Mysql闪退问题图文解决办法

    Mysql闪退问题图文解决办法

    之前在使用MySQL 5.5 Command Line Client时,无论输入什么密码,都出现闪退的情况,纠结了半天才找到原因,下面小编给大家分享我的解决方法,感兴趣的朋友一起看看吧
    2016-11-11
  • MySQL通过自定义函数实现递归查询父级ID或者子级ID

    MySQL通过自定义函数实现递归查询父级ID或者子级ID

    这篇文章主要介绍了MySQL通过自定义函数实现递归查询父级ID或者子级ID,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • Mysql中使用Union—多表合并之行合并

    Mysql中使用Union—多表合并之行合并

    这篇文章主要介绍了Mysql中使用Union—多表合并之行合并,如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字,union(或称为联合)的作用是将多个结果合并在一起显示出来,需要的朋友可以参考下
    2023-07-07
  • MySQL使用IF语句及用case语句对条件并结果进行判断 

    MySQL使用IF语句及用case语句对条件并结果进行判断 

    这篇文章主要介绍了MySQL使用IF语句及用case语句对条件并结果进行判断,文章通过围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • MySQl数据库必知必会sql语句(加强版)

    MySQl数据库必知必会sql语句(加强版)

    本文给大家分享了一篇关于mysql数据库必会sql语句加强版内容,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-04-04
  • CentOs7安装部署Sonar环境的详细过程(JDK1.8+MySql5.7+sonarqube7.8)

    CentOs7安装部署Sonar环境的详细过程(JDK1.8+MySql5.7+sonarqube7.8)

    这篇文章主要介绍了CentOs7安装部署Sonar环境(JDK1.8+MySql5.7+sonarqube7.8),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • MySQL数据类型enum 枚举类型

    MySQL数据类型enum 枚举类型

    这篇文章主要介绍了MySQL数据类型enum 枚举类型,文章围绕主题展开详细的内容介绍,需要的小伙伴可以参考一下
    2022-06-06
  • MySql插入数据成功但是报[Err] 1055错误的解决方案

    MySql插入数据成功但是报[Err] 1055错误的解决方案

    这篇文章主要介绍了MySql插入数据成功但是报[Err] 1055错误的解决方案,需要的朋友可以参考下
    2017-08-08
  • mysql下载与安装过程详解

    mysql下载与安装过程详解

    这篇文章主要介绍了mysql下载与安装过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03

最新评论