使用mysql_config_editor可以为特定的MySQL服务器或客户端程序设置登录路径

本文主要是介绍使用mysql_config_editor可以为特定的MySQL服务器或客户端程序设置登录路径,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

login_path 介绍

在 MySQL 中,login_path 通常不是 MySQL 服务器配置或 SQL 语句的一部分。但是,它经常与 MySQL 的命令行工具 mysql_config_editor 一起使用,这是一个允许用户安全地存储认证凭据(如用户名、密码和连接参数)的工具。

mysql 的 client 工具都能使用 login-path,如 mysql、mysqldump、mysqladmin、mysqlbinlog、mysql_upgrade、mysqld_safe、mysqld_multi、mysqldumpslow 等等。

mysql_config_editor 介绍

mysql_config_editor 是 MySQL 提供的一个实用程序,它允许用户安全地存储加密的认证凭据(如用户名、密码和服务器连接参数)在 ~/.mylogin.cnf 文件中。这样做的好处是,用户可以在不使用命令行参数或选项的情况下连接到 MySQL 服务器,同时避免在脚本或历史记录中暴露敏感信息。

mysql_config_editor 允许用户设置和管理登录路径(login paths),这些登录路径存储在用户主目录下的 ~/mylogin.cnf 文件中。使用登录路径,用户可以在命令行上无需输入用户名、密码或其他连接参数即可连接到 MySQL 服务器。

使用 mysql_config_editor

1、mysql_config_editor使用帮助

mysql_config_editor set --help

[root@orcl23c ~]# mysql_config_editor set --help
mysql_config_editor  Ver 8.4.0 for Linux on x86_64 (MySQL Community Server - GPL)
Copyright (c) 2012, 2024, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.MySQL Configuration Utility.Description: Write a login path to the login file.
Usage: mysql_config_editor [program options] [set [command options]]-?, --help          Display this help and exit.-h, --host=name     Host name to be entered into the login file.-G, --login-path=name Name of the login path to use in the login file. (Default: client)-p, --password      Prompt for password to be entered into the login file.-u, --user=name     User name to be entered into the login file.-S, --socket=name   Socket path to be entered into login file.-P, --port=name     Port number to be entered into login file.-w, --warn          Warn and ask for confirmation if set command attempts tooverwrite an existing login path (enabled by default).(Defaults to on; use --skip-warn to disable.)Variables (--variable-name=value)
and boolean options {FALSE|TRUE}  Value (after reading options)
--------------------------------- ----------------------------------------
host                              (No default value)
login-path                        client
user                              (No default value)
socket                            (No default value)
port                              (No default value)
warn                              TRUE

2、设置登录路径

使用 mysql_config_editor 可以为特定的 MySQL 服务器或客户端程序设置登录路径。登录路径是一个名称,它引用了一组认证凭据。

mysql_config_editor set --login-path=local --host=localhost --user=your_username --password

注意:your_username是你自己需设置的账号。当您输入上述命令时,它会提示您输入与 --user 参数关联的密码。

示例

[root@orcl23c ~]# mysql_config_editor set --login-path=local --host=localhost --user=root --password
Enter password: 提示您输入与 --user 参数关联的密码。

3、 使用登录路径

一旦设置了登录路径,您就可以使用 mysql 客户端(或其他 MySQL 客户端程序)并指定登录路径来连接到 MySQL 服务器。

[root@orcl23c ~]# mysql --login-path=local
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 8.4.0 MySQL Community Server - GPLCopyright (c) 2000, 2024, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.(root@localhost)[(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| db01               |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.01 sec)

或者,如果您正在使用其他客户端(如 mysqldump、mysqladmin、mysqlbinlog等),您也可以这样做。

4、查看存储的凭据

尽管您不应该直接编辑 ~/.mylogin.cnf 文件(因为它包含加密的数据),但您可以使用 mysql_config_editor 查看其中存储的登录路径列表。

[root@orcl23c ~]# mysql_config_editor print --login-path=local
[local]
user = "root"
password = *****
host = "localhost"

5、删除登录路径

如果您不再需要某个登录路径,可以使用以下命令删除它

mysql_config_editor remove --login-path=local

mysql_config_editor remove --login-path=local

6、注意

  • 确保 ~/.mylogin.cnf 文件的权限设置得当,以便只有您自己可以读取它。
  • 如果您丢失了与加密凭据关联的密码或密钥,则无法恢复它们。因此,请确保备份这些凭据或记住相关的密码。
  • 在某些系统上,~/.mylogin.cnf 文件可能位于其他位置或具有不同的名称。但是,mysql_config_editor 默认会使用此位置。

7、综合示例

7.1、创建一个登陆用户

mysql -uroot -p -e "create user test@'%' identified by 'loginpath@2022';"

7.2、登陆路径设置

7.2.1、test用户设置登录路径
mysql_config_editor set --login-path=test --user=test --password --host=192.168.80.230 --port=3306
7.2.2、编辑环境变量增加alias

vi ~/.bash_profile
alias conn_test=“mysql --login-path=test”

source ~/.bash_profile

7.2.3、使用测试登录
[root@orcl23c ~]# conn_test -e "select user();"
+--------------+
| user()       |
+--------------+
| test@orcl23c |
+--------------+
[root@orcl23c ~]# conn_test -e "\s"
--------------
mysql  Ver 8.4.0 for Linux on x86_64 (MySQL Community Server - GPL)Connection id:          21
Current database:
Current user:           test@orcl23c
SSL:                    Cipher in use is TLS_AES_128_GCM_SHA256
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         8.4.0 MySQL Community Server - GPL
Protocol version:       10
Connection:             192.168.80.230 via TCP/IP
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    utf8mb4
Conn.  characterset:    utf8mb4
TCP port:               3306
Binary data as:         Hexadecimal
Uptime:                 12 days 21 hours 18 min 46 secThreads: 2  Questions: 84  Slow queries: 0  Opens: 237  Flush tables: 3  Open tables: 156  Queries per second avg: 0.000
--------------

这篇关于使用mysql_config_editor可以为特定的MySQL服务器或客户端程序设置登录路径的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1057209

相关文章

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

使用Python绘制蛇年春节祝福艺术图

《使用Python绘制蛇年春节祝福艺术图》:本文主要介绍如何使用Python的Matplotlib库绘制一幅富有创意的“蛇年有福”艺术图,这幅图结合了数字,蛇形,花朵等装饰,需要的可以参考下... 目录1. 绘图的基本概念2. 准备工作3. 实现代码解析3.1 设置绘图画布3.2 绘制数字“2025”3.3

Jsoncpp的安装与使用方式

《Jsoncpp的安装与使用方式》JsonCpp是一个用于解析和生成JSON数据的C++库,它支持解析JSON文件或字符串到C++对象,以及将C++对象序列化回JSON格式,安装JsonCpp可以通过... 目录安装jsoncppJsoncpp的使用Value类构造函数检测保存的数据类型提取数据对json数

python使用watchdog实现文件资源监控

《python使用watchdog实现文件资源监控》watchdog支持跨平台文件资源监控,可以检测指定文件夹下文件及文件夹变动,下面我们来看看Python如何使用watchdog实现文件资源监控吧... python文件监控库watchdogs简介随着Python在各种应用领域中的广泛使用,其生态环境也

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

Linux中chmod权限设置方式

《Linux中chmod权限设置方式》本文介绍了Linux系统中文件和目录权限的设置方法,包括chmod、chown和chgrp命令的使用,以及权限模式和符号模式的详细说明,通过这些命令,用户可以灵活... 目录设置基本权限命令:chmod1、权限介绍2、chmod命令常见用法和示例3、文件权限详解4、ch

springboot整合 xxl-job及使用步骤

《springboot整合xxl-job及使用步骤》XXL-JOB是一个分布式任务调度平台,用于解决分布式系统中的任务调度和管理问题,文章详细介绍了XXL-JOB的架构,包括调度中心、执行器和Web... 目录一、xxl-job是什么二、使用步骤1. 下载并运行管理端代码2. 访问管理页面,确认是否启动成功

Mysql 中的多表连接和连接类型详解

《Mysql中的多表连接和连接类型详解》这篇文章详细介绍了MySQL中的多表连接及其各种类型,包括内连接、左连接、右连接、全外连接、自连接和交叉连接,通过这些连接方式,可以将分散在不同表中的相关数据... 目录什么是多表连接?1. 内连接(INNER JOIN)2. 左连接(LEFT JOIN 或 LEFT

Apache Tomcat服务器版本号隐藏的几种方法

《ApacheTomcat服务器版本号隐藏的几种方法》本文主要介绍了ApacheTomcat服务器版本号隐藏的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1. 隐藏HTTP响应头中的Server信息编辑 server.XML 文件2. 修China编程改错误

使用Nginx来共享文件的详细教程

《使用Nginx来共享文件的详细教程》有时我们想共享电脑上的某些文件,一个比较方便的做法是,开一个HTTP服务,指向文件所在的目录,这次我们用nginx来实现这个需求,本文将通过代码示例一步步教你使用... 在本教程中,我们将向您展示如何使用开源 Web 服务器 Nginx 设置文件共享服务器步骤 0 —