当前位置: 首页 > news >正文

使用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服务器或客户端程序设置登录路径

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

gridview的模板按钮如何判断用户点击的是哪一行

在asp.net的 GridView 控件中,判断用户点击的是哪一行通常可以通过处理 GridView 的 RowCommand 事件来实现。RowCommand 事件会在 GridView 的每个按钮(除非另有指定的CommandName)被点击时触发,并且事件参数中包含了足够的信息来…...

虚拟化 之三 详解 jailhouse(ARM 平台)的构建过程、配置及使用

嵌入式平台下,由于资源的限制,通常不具备通用性的 Linux 发行版,各大主流厂商都会提供自己的 Linux 发行版。这个发行版通常是基于某个 Linux 发行版构建系统来构建的,而不是全部手动构建,目前主流的 Linux 发行版构建系统是 Linux 基金会开发的 Yocto 构建系统。 基本环…...

数据安全:Web3时代的隐私保护新标准

随着数字化时代的到来,我们的生活已经完全依赖于互联网和数据交换。然而,随之而来的是对个人隐私和数据安全的日益关注。在这个信息爆炸的时代,数据泄露、个人隐私侵犯和网络攻击等问题日益突出,而Web3技术的崛起正带来了一种全新…...

STM32串口不定长接收空闲中断

目录 1. 开启串口空闲中断2. 合理开关中断3. 串口发送函数 1. 开启串口空闲中断 最近接触到的 Modbus RTU 项目使用到了串口接收中断和空闲中断。记录一下 初始化可以直接套用正点原子的初始化,只需要添加一行即可 USART_ITConfig(USART1, USART_IT_IDLE, ENABLE)…...

Ubuntu 设置开机启动脚本

在/etc/systemd/system/目录下创建对应的server服务 如:/etc/systemd/system/test-script.service [Unit] DescriptionTest Script Service Afternetwork.target[Service] Typeoneshot ExecStart/path/to/test-script.sh[Install] WantedBymulti-user.target替换/…...

C# Task 包含 await ConfigureAwait CancellationTokenSource

Task以下是 Task 类的一些关键特性和用法&#xff1a;以下是一些使用 Task 的示例&#xff1a;创建并启动一个任务使用 await 等待任务完成处理任务异常使用 Task<TResult> 获取结果取消任务总结 await暂停方法执行&#xff1a;非阻塞调用&#xff1a;任务结果获取&#…...

Python数据分析与建模库-02科学计算库Numpy01-05合集

1、该视频主要讲述了南派&#xff08;NumPy&#xff09;的核心操作和数据结构&#xff0c;以及如何使用NumPy库读取和处理数据。 2、该视频主要讲述了在编程中&#xff0c;如何对数组或矩阵中的元素进行判断和操作&#xff0c;以及在单排中如何进行类型转换。 3、该视频主要讲…...

【前端项目笔记】1 登录与登出功能实现

项目笔记 ☆☆代表面试常见题 前后端分离&#xff1a;后端负责写接口&#xff0c;前端负责调接口。 登录/退出功能 登录业务流程 登录页面&#xff1a;用户名密码 调用后台接口进行验证 通过验证&#xff0c;根据后台响应状态跳到项目主页 登录业务相关技术点&#xff1…...

是字符串定义以及在C语言中字符串是如何表示的

字符串&#xff08;String&#xff09;是由零个或多个字符&#xff08;包括空格&#xff09;组成的有限序列&#xff0c;常用于文本数据的存储和处理。在编程中&#xff0c;字符串是常见的数据类型。 在C语言中&#xff0c;字符串不是一种内置的数据类型&#xff0c;但C语言提…...

辽宁普通测径仪升级智能测径仪后都有哪些改进?

关键字: 普通测径仪, 智能测径仪, 测径仪升级, 测径仪特点, 智能测径仪优势, 目前多数厂家测径仪的数据处理方式是单片机计算出最终结果&#xff0c;然后传输到工控机后期处理。这样的电路系统对轧钢现场的高温、高粉尘和强电磁干扰的环境适应性很差&#xff0c;使得同一厂家、…...

【微信小程序】事件分类以及阻止事件冒泡

在微信小程序中&#xff0c;事件分为冒泡事件和非冒泡事件两大类&#xff0c;它们的区别在于事件是否能从原始触发组件开始&#xff0c;向父级组件传播&#xff08;即“冒泡”&#xff09;。 冒泡事件&#xff1a;当一个组件上的事件被触发后&#xff0c;不仅当前组件会接收到这…...

踩坑!被node-sass折磨的一天

文章目录 被node-sass折磨的一天折磨过程了解原因注意事项 被node-sass折磨的一天 折磨过程 起因是要开发一个老项目&#xff0c;照常拉代码、下依赖、启动三步走 依赖开始下载不对了&#xff0c;以为是node版本问题&#xff0c;寻找node-sass对应的node版本 利用nvm&#…...

App UI 风格打造独特体验

App UI 风格打造独特体验...

【学习笔记8】阅读StyleID论文源码

论文【链接】 源码【链接】 一、DDIM eta ddim_step表示执行几轮去噪迭代&#xff0c;eta表示DDPM和DDIM的插值系数。当eta0时&#xff0c;为DDPM&#xff1b;当eta≠0时&#xff0c;为DDIM。 参考 DDIM 简明讲解与 PyTorch 实现&#xff1a;加速扩散模型采样的通用方法 【s…...

wordpress旅游网站模板

旅行社wordpress主题 简洁实用的旅行社wordpress主题&#xff0c;适用于旅行社建网站的wordpress主题模板。 https://www.jianzhanpress.com/?p4296 旅游WordPress主题 简洁实用的旅游WordPress主题&#xff0c;适合做旅游公司网站的WordPress主题模板。 https://www.jian…...

vs2019 c++20规范 STL 库中头文件 <atomic> 源码注释及探讨几个知识点

&#xff08;1 探讨一&#xff09; 模板类 atomic 的继承关系与数据结构如下&#xff1a; (2 探讨二 ) 可见 atomic 的 fetch_xx 函数&#xff0c;返回的都是 atomic 中存储的旧值。测试如下&#xff1a; 谢谢...

Flink任务如何跑起来之 2.算子 StreamOperator

Flink任务如何跑起来之 2.算子 StreamOperator 前文介绍了Transformation创建过程&#xff0c;大多数情况下通过UDF完成DataStream转换中&#xff0c;生成的Transformation实例中&#xff0c;核心逻辑是封装了SimpleOperatorFactory实例。 UDF场景下&#xff0c;DataStream到…...

学习笔记——路由网络基础——路由优先级(preference)

1、路由优先级(preference) 路由优先级(preference)代表路由的优先程度。当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同)时&#xff0c;路由器会比较这些路由的优先级&#xff0c;优选优先级值最小的路由。 路由来源的优先…...

数据预处理——调整方差、标准化、归一化(Matlab、python)

对数据的预处理&#xff1a; (a)、调整数据的方差&#xff1b; (b)、标准化&#xff1a;将数据标准化为具有零均值和单位方差&#xff1b;&#xff08;均值方差归一化(Standardization)&#xff09; (c)、最值归一化&#xff0c;也称为离差标准化&#xff0c;是对原始数据的…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

AspectJ 在 Android 中的完整使用指南

一、环境配置&#xff08;Gradle 7.0 适配&#xff09; 1. 项目级 build.gradle // 注意&#xff1a;沪江插件已停更&#xff0c;推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...