MySQL 免密登录的几种配置方式
文章目录
- MySQL 免密登录的几种配置方式
- 使用操作系统用户实现免密登录
- 具体步骤:
- Step 1: 修改 MySQL 配置文件
- Step 2: 重启 MySQL 服务
- Step 3: 使用系统用户登录 MySQL
- 优点:
- 缺点:
- 使用 `mysql_config_editor` 配置免密文件
- 具体步骤:
- Step 1: 设置免密文件
- Step 2: 使用免密文件登录 MySQL
- 优点:
- 缺点:
- MySQL 用户授权配置免密登录
- 具体步骤:
- Step 1: 登录 MySQL
- Step 2: 修改用户的认证方式
- Step 3: 刷新权限
- Step 4: 免密码登录
- 优点:
- 缺点:
- 通过设置client标签
- 缺点
- ~/.my.cnf
- 几种种方式的对比与应用场景
- 总结
MySQL 免密登录的几种配置方式
在日常运维中,为了简化登录操作或提高自动化脚本执行的效率,我们经常需要配置 MySQL 免密登录。MySQL 支持通过多种方式实现免密登录,这样我们就可以避免每次输入密码。常见的三种免密登录配置方式是:
- 使用操作系统用户登录
- 配置免密文件(通过
mysql_config_editor) - 通过 MySQL 用户授权配置免密登录
- 通过设置client标签
本文将深入探讨这三种方法,并详细介绍它们的实现步骤和适用场景。
使用操作系统用户实现免密登录
MySQL 支持通过操作系统用户来直接登录,无需输入密码。这种方式适用于服务器上的自动化任务或定时脚本执行,方便操作。
具体步骤:
Step 1: 修改 MySQL 配置文件
找到 MySQL 的配置文件(通常位于 /etc/my.cnf 或 /etc/mysql/my.cnf),在 [mysqld] 部分添加如下配置:
[mysqld]
skip-grant-tables
此配置项会让 MySQL 跳过权限表的校验,所有用户都无需密码即可登录。
Step 2: 重启 MySQL 服务
使用以下命令重启 MySQL 服务以使配置生效:
systemctl restart mysqld
Step 3: 使用系统用户登录 MySQL
此时可以直接使用系统用户(例如 root)登录 MySQL,而无需输入密码:
mysql -u root
注意:
这种方式有一定的安全隐患,因为它完全跳过了 MySQL 的权限系统,任何有权限访问 MySQL 服务器的用户都可以登录并操作数据库。因此,这种方式应仅在调试或特殊场景下使用,且必须确保服务器的安全性,例如通过防火墙和访问控制限制外部访问。
优点:
- 简单快捷,适合临时维护或本地调试。
缺点:
- 安全性较低,所有用户都能绕过权限验证登录数据库。
这种也适用于忘记密码时候,配置后登陆服务器再修改密码,修改完再把配置注释即可
使用 mysql_config_editor 配置免密文件
MySQL 提供了一个非常安全的工具 mysql_config_editor,可以将登录信息加密存储在一个文件中,避免密码泄露。这样每次登录时无需手动输入密码,同时又保证了密码的安全性。
具体步骤:
Step 1: 设置免密文件
使用 mysql_config_editor 命令创建一个免密配置文件:
mysql_config_editor set --login-path=client --user=root --host=localhost --password
在执行该命令后,会提示你输入密码。密码将被加密存储在 ~/.mylogin.cnf 文件中。此文件是用户级别的,其他用户无法访问。
Step 2: 使用免密文件登录 MySQL
配置完成后,可以通过以下命令直接登录 MySQL,而无需手动输入密码:
mysql --login-path=client
优点:
- 安全性高:密码以加密形式存储,避免了明文泄露的风险。
- 易用性强:登录时无需每次输入密码,特别适合自动化脚本或定时任务。
缺点:
- 适用性有限:只适用于在本地或特定路径下配置了
mysql_config_editor的用户,其他用户无法使用同一个免密文件。
MySQL 用户授权配置免密登录
MySQL 还可以通过直接修改用户权限的方式来实现免密登录。通过这种方式,你可以灵活地为某个特定用户配置免密登录,同时保留其他用户的密码保护。这在多人管理的环境中尤其适用。
具体步骤:
Step 1: 登录 MySQL
首先使用密码登录 MySQL:
mysql -u root -p
Step 2: 修改用户的认证方式
使用 ALTER USER 语句将某个用户配置为免密登录。例如,将 root 用户在 localhost 上登录时配置为免密码登录:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
这里的 BY '' 表示将密码设置为空。
Step 3: 刷新权限
执行以下命令使修改生效:
FLUSH PRIVILEGES;
Step 4: 免密码登录
现在,用户 root 在本地可以直接登录 MySQL 而无需输入密码:
mysql -u root
优点:
- 灵活控制:可以为指定用户和主机配置免密登录,而其他用户仍需要密码。
- 适用于多用户环境:确保权限管理的灵活性,同时提升部分用户的便捷性。
缺点:
- 安全风险:免密码的用户如果配置不当,可能导致安全隐患。因此,建议仅为信任的用户配置免密登录,且限制登录主机(如仅限本地登录
localhost)。
通过设置client标签
编辑/etc/my.cnf文件,添加如下代码
[client]
user=root
password=123456
port=3306
配置完成后可以使用mysql命令直接登录数据库

缺点
- 安全风险:此方式最大问题是明文存储密码,见配置文件各用户可见,非常的不安全。
~/.my.cnf
此种方式也是明文存储,配置方式同client标签一样,文件为隐藏文件,设置文件为改用户可读,与上边方式相比安全性有所提高。经验证测试,~/.my.cnf配置文件优先于/etc/my.cnf。
~/.my.cnf 代表当前用户的家目录下的 .my.cnf 配置文件,只对该用户生效。
[root@sonar ~]# cat .my.cnf
[client]
user=root
password=123456
port=3306
[root@sonar ~]# chmod .my.cnf
配置完成后可以使用mysql命令直接登录数据库,这个只对root用户生效

几种种方式的对比与应用场景
| 方式 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 使用操作系统用户免密登录 | 操作简单,便于调试及自动化任务 | 安全性低,所有用户都可绕过权限校验 | 临时调试、本地开发和短期自动化任务 |
配置免密文件 mysql_config_editor | 安全性高,避免明文存储密码,自动化任务执行方便 | 仅限配置了免密文件的用户使用 | 长期服务器部署、自动化脚本、定时任务 |
| MySQL 用户授权配置免密登录 | 灵活控制指定用户,适合多用户环境 | 配置不当存在安全风险 | 生产环境中指定用户的免密登录,如数据库管理员的本地管理 |
| 通过设置client标签 | 操作简单,便于调试及自动化任务 | 安全性低 | 临时调试、本地开发和短期自动化任务 |
总结
MySQL 免密登录在特定场景下可以极大提高操作效率,减少繁琐的登录操作。在选择合适的免密登录方式时,应根据实际需求和安全性考虑:
- 对于本地调试或短期维护任务,可以使用操作系统用户免密登录,但应注意安全风险。
- 对于生产环境中的自动化任务,使用
mysql_config_editor配置免密文件是一个安全且方便的选择。 - 如果是多人管理的环境,可以通过 MySQL 用户授权方式为特定用户配置免密登录,同时保留其他用户的密码保护。
最终,合理的使用免密登录技术,不仅能提高工作效率,还能确保系统的安全性和稳定性。
相关文章:
MySQL 免密登录的几种配置方式
文章目录 MySQL 免密登录的几种配置方式使用操作系统用户实现免密登录具体步骤:Step 1: 修改 MySQL 配置文件Step 2: 重启 MySQL 服务Step 3: 使用系统用户登录 MySQL优点:缺点: 使用 mysql_config_editor 配置免密文件具体步骤:S…...
html全局属性、框架标签
常用的全局属性: 属性名含义id 给标签指定唯一标识,注意:id是不能重复的。 作用:可以让label标签与表单控件相关联;也可以与css、JavaScript配合使用。 注意:不能再以下HTML元素中使用:<hea…...
ARL 灯塔 | CentOS7 — ARL 灯塔搭建流程(Docker)
关注这个工具的其它相关内容:自动化信息收集工具 —— ARL 灯塔使用手册 - CSDN 博客 灯塔,全称:ARL 资产侦察灯塔系统,有着域名资产发现和整理、IP/IP 段资产整理、端口扫描和服务识别、WEB 站点指纹识别、资产分组管理和搜索等等…...
抖音列表页采集-前言
准备工作: 1.关于selenium介绍: python自动化入门的话,selenium绝对是最方便的选择,基本逻辑即为:程序模拟人的行为操作浏览器,这样的操作需要借用浏览器驱动,我选用的是chrome浏览器ÿ…...
Linux 端口占用 kill被占用的端口 杀掉端口
1、yum install lsof 2、输入netstat -tln,查看系统当前所有被占用端口 3、根据端口查询进程,输入lsof -i :9555,切记不要忘了添加冒号 4、 既然知道进程号了,那杀死当前进程就简单多了,直接 kill -9 PID 回车...
爬虫之数据解析
数据解析 数据解析这篇内容, 很多知识涉及到的都是以前学习过的内容了, 那这篇文章我们主要以实操为主, 来展开来讲解关于数据解析的内容。 360搜索图片 请求的url大家不需要再找了, 相信大家都会找请求了, 寻找请求从我的第一篇爬虫的博客开始到现在一直都在写,这边的话, 我已…...
本地缓存少更改、小数据、低一致表的思考
对于那些少更改、小数据的表,以及对一致性要求不高的业务,其实完全可以通过本地缓存将表数据缓存到本地内存中,然后通过定时机制拉取表更新数据 直接从内存中获取数据,将会使得查询性能得到巨大的提升,并且由于更改少…...
redis 使用
打开redis 前台启动 同路径下打开redis-server 出现窗口,即启动成功 此时关闭窗口,redis关闭; 不管有没有使用密码,或者使用了什么密码,都能连上 如果使用下文提到的redis cli增加密码,就只能使用你设置的…...
使用 Pake 一键打包网页为桌面应用 / 客户端
项目 项目:https://github.com/tw93/Pake/ 免费ICO图片:https://icon-icons.com/zh/ 设置环境 以下教程仅针对windows系统适用 请确保您的 Node.js 版本为 18 或更高版本 文档:https://v1.tauri.app/zh-cn/v1/guides/getting-started/prerequ…...
vue.js【常用UI组件库】
Element Plus组件库 Element Plus是基于Vue 3开发的优秀的PC端开源UI组件库,它是Element的升级版,对于习惯使用Element的人员来说,在学习Element Plus时,不用花费太多的时间。因为Vue 3不再支持IE 11,所以Element Plu…...
基于vue框架的的地铁站智慧管理系统的设计n09jb(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
系统程序文件列表 项目功能:用户,上班打卡,下班打卡,人员管理,交接班,视频巡检,车辆巡检,车辆管理 开题报告内容 基于Vue框架的地铁站智慧管理系统的设计开题报告 一、研究背景与意义 随着城市化进程的加速,地铁站作为城市交通系统的重要组成部分&am…...
《南京师大学报(自然科学版)》
《南京师大学报(自然科学版)》刊载内容主要包括:数学;物理学;化学;地理学;海洋科学;生物学;生态学;力学;电子科学与技术;计算机科学与…...
考研读研生存指南,注意事项
本视频课程,涉及考研读研的方方面面,从考研初试→复试面试→研究生生活→导师相处→论文专利写作混毕业,应有尽有。有了他,你的研究生生涯稳了。 读研考研注意事项,研究生生存指南。_哔哩哔哩_bilibili 一、考研初试注…...
爬虫结合项目实战
由于本人是大数据专业,所以准备的是使用pycharm工具进行爬虫爬取数据,然后实现一个可视化大屏 参考项目: 1.医院大数据可视化最后展示 2. 大数据分析可视化系统展示 代码包:...
【Next.js 项目实战系列】07-分配 Issue 给用户
原文链接 CSDN 的排版/样式可能有问题,去我的博客查看原文系列吧,觉得有用的话,给我的库点个star,关注一下吧 上一篇【Next.js 项目实战系列】06-身份验证 分配 Issue 给用户 本节代码链接 Select Button # /app/issues/[i…...
Web,RESTful API 在微服务中的作用是什么?
大家好,我是锋哥。今天分享关于【Web,RESTful API 在微服务中的作用是什么?】面试题?希望对大家有帮助; Web,RESTful API 在微服务中的作用是什么? 在微服务架构中,Web 和 RESTful …...
Ajax:跨域、防抖和节流、HTTP协议
在善意的“双向奔赴”中,每个普通人都如星辰,微小但释放着自己的光芒,交织成灿烂的星河 文章目录 跨域防抖和节流HTTP协议HTP状态码以及代表意义错误代码的影响移动的小天使 跨域 同源策略 概念:协议,域名,…...
数据结构(8.2_2)—希尔排序
希尔排序的定义: 第一趟:先将在排序表中根据增量di分别将数组元素分别插入各个子表 ,在进行排序 代码实现: 算法性能分析 稳定性:不稳定! 适用性:仅适用于顺序表,不适用于链表 总…...
Netty笔记
本笔记是看了黑马的Netty进行总结的。想要更详细的可以去看视频 学习netty之前要先打好NIO的基础,可以先去看我的另一篇文章 一、概述 不想看的可以直接跳过 Netty 的地位 Netty 在 Java 网络应用框架中的地位就好比:Spring 框架在 JavaEE 开发中的地位…...
管道燃气监管系统
一、建设目标 建立一个高效、智能、安全的管道燃气监管系统,实现对管道燃气的实时监测、风险预警、事故应急处理和数据分析,确保燃气供应的安全稳定,提高燃气管理的效率和水平。 二、系统架构 感知层 安装压力传感器、流量传感器、温度传感…...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
【 java 虚拟机知识 第一篇 】
目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...
