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 开发中的地位…...

管道燃气监管系统
一、建设目标 建立一个高效、智能、安全的管道燃气监管系统,实现对管道燃气的实时监测、风险预警、事故应急处理和数据分析,确保燃气供应的安全稳定,提高燃气管理的效率和水平。 二、系统架构 感知层 安装压力传感器、流量传感器、温度传感…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...

MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

基于单片机的宠物屋智能系统设计与实现(论文+源码)
本设计基于单片机的宠物屋智能系统核心是实现对宠物生活环境及状态的智能管理。系统以单片机为中枢,连接红外测温传感器,可实时精准捕捉宠物体温变化,以便及时发现健康异常;水位检测传感器时刻监测饮用水余量,防止宠物…...

PH热榜 | 2025-06-08
1. Thiings 标语:一套超过1900个免费AI生成的3D图标集合 介绍:Thiings是一个不断扩展的免费AI生成3D图标库,目前已有超过1900个图标。你可以按照主题浏览,生成自己的图标,或者下载整个图标集。所有图标都可以在个人或…...

GraphRAG优化新思路-开源的ROGRAG框架
目前的如微软开源的GraphRAG的工作流程都较为复杂,难以孤立地评估各个组件的贡献,传统的检索方法在处理复杂推理任务时可能不够有效,特别是在需要理解实体间关系或多跳知识的情况下。先说结论,看完后感觉这个框架性能上不会比Grap…...
StarRocks 全面向量化执行引擎深度解析
StarRocks 全面向量化执行引擎深度解析 StarRocks 的向量化执行引擎是其高性能的核心设计,相比传统行式处理引擎(如MySQL),性能可提升 5-10倍。以下是分层拆解: 1. 向量化 vs 传统行式处理 维度行式处理向量化处理数…...

CSS 工具对比:UnoCSS vs Tailwind CSS,谁是你的菜?
在现代前端开发中,Utility-First (功能优先) CSS 框架已经成为主流。其中,Tailwind CSS 无疑是市场的领导者和标杆。然而,一个名为 UnoCSS 的新星正以其惊人的性能和极致的灵活性迅速崛起。 这篇文章将深入探讨这两款工具的核心理念、技术差…...