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

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全局属性、框架标签

常用的全局属性&#xff1a; 属性名含义id 给标签指定唯一标识&#xff0c;注意&#xff1a;id是不能重复的。 作用&#xff1a;可以让label标签与表单控件相关联&#xff1b;也可以与css、JavaScript配合使用。 注意&#xff1a;不能再以下HTML元素中使用&#xff1a;<hea…...

ARL 灯塔 | CentOS7 — ARL 灯塔搭建流程(Docker)

关注这个工具的其它相关内容&#xff1a;自动化信息收集工具 —— ARL 灯塔使用手册 - CSDN 博客 灯塔&#xff0c;全称&#xff1a;ARL 资产侦察灯塔系统&#xff0c;有着域名资产发现和整理、IP/IP 段资产整理、端口扫描和服务识别、WEB 站点指纹识别、资产分组管理和搜索等等…...

抖音列表页采集-前言

准备工作&#xff1a; 1.关于selenium介绍&#xff1a; python自动化入门的话&#xff0c;selenium绝对是最方便的选择&#xff0c;基本逻辑即为&#xff1a;程序模拟人的行为操作浏览器&#xff0c;这样的操作需要借用浏览器驱动&#xff0c;我选用的是chrome浏览器&#xff…...

Linux 端口占用 kill被占用的端口 杀掉端口

1、yum install lsof 2、输入netstat -tln,查看系统当前所有被占用端口 3、根据端口查询进程,输入lsof -i :9555,切记不要忘了添加冒号 4、 既然知道进程号了,那杀死当前进程就简单多了,直接 kill -9 PID 回车...

爬虫之数据解析

数据解析 数据解析这篇内容, 很多知识涉及到的都是以前学习过的内容了, 那这篇文章我们主要以实操为主, 来展开来讲解关于数据解析的内容。 360搜索图片 请求的url大家不需要再找了, 相信大家都会找请求了, 寻找请求从我的第一篇爬虫的博客开始到现在一直都在写,这边的话, 我已…...

本地缓存少更改、小数据、低一致表的思考

对于那些少更改、小数据的表&#xff0c;以及对一致性要求不高的业务&#xff0c;其实完全可以通过本地缓存将表数据缓存到本地内存中&#xff0c;然后通过定时机制拉取表更新数据 直接从内存中获取数据&#xff0c;将会使得查询性能得到巨大的提升&#xff0c;并且由于更改少…...

redis 使用

打开redis 前台启动 同路径下打开redis-server 出现窗口&#xff0c;即启动成功 此时关闭窗口&#xff0c;redis关闭&#xff1b; 不管有没有使用密码&#xff0c;或者使用了什么密码&#xff0c;都能连上 如果使用下文提到的redis cli增加密码&#xff0c;就只能使用你设置的…...

使用 Pake 一键打包网页为桌面应用 / 客户端

项目 项目&#xff1a;https://github.com/tw93/Pake/ 免费ICO图片&#xff1a;https://icon-icons.com/zh/ 设置环境 以下教程仅针对windows系统适用 请确保您的 Node.js 版本为 18 或更高版本 文档&#xff1a;https://v1.tauri.app/zh-cn/v1/guides/getting-started/prerequ…...

vue.js【常用UI组件库】

Element Plus组件库 Element Plus是基于Vue 3开发的优秀的PC端开源UI组件库&#xff0c;它是Element的升级版&#xff0c;对于习惯使用Element的人员来说&#xff0c;在学习Element Plus时&#xff0c;不用花费太多的时间。因为Vue 3不再支持IE 11&#xff0c;所以Element Plu…...

基于vue框架的的地铁站智慧管理系统的设计n09jb(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;用户,上班打卡,下班打卡,人员管理,交接班,视频巡检,车辆巡检,车辆管理 开题报告内容 基于Vue框架的地铁站智慧管理系统的设计开题报告 一、研究背景与意义 随着城市化进程的加速&#xff0c;地铁站作为城市交通系统的重要组成部分&am…...

《南京师大学报(自然科学版)》

《南京师大学报&#xff08;自然科学版&#xff09;》刊载内容主要包括&#xff1a;数学&#xff1b;物理学&#xff1b;化学&#xff1b;地理学&#xff1b;海洋科学&#xff1b;生物学&#xff1b;生态学&#xff1b;力学&#xff1b;电子科学与技术&#xff1b;计算机科学与…...

考研读研生存指南,注意事项

本视频课程&#xff0c;涉及考研读研的方方面面&#xff0c;从考研初试→复试面试→研究生生活→导师相处→论文专利写作混毕业&#xff0c;应有尽有。有了他&#xff0c;你的研究生生涯稳了。 读研考研注意事项&#xff0c;研究生生存指南。_哔哩哔哩_bilibili 一、考研初试注…...

爬虫结合项目实战

由于本人是大数据专业&#xff0c;所以准备的是使用pycharm工具进行爬虫爬取数据&#xff0c;然后实现一个可视化大屏 参考项目&#xff1a; 1.医院大数据可视化最后展示 2. 大数据分析可视化系统展示 代码包&#xff1a;...

【Next.js 项目实战系列】07-分配 Issue 给用户

原文链接 CSDN 的排版/样式可能有问题&#xff0c;去我的博客查看原文系列吧&#xff0c;觉得有用的话&#xff0c;给我的库点个star&#xff0c;关注一下吧 上一篇【Next.js 项目实战系列】06-身份验证 分配 Issue 给用户 本节代码链接 Select Button​ # /app/issues/[i…...

Web,RESTful API 在微服务中的作用是什么?

大家好&#xff0c;我是锋哥。今天分享关于【Web&#xff0c;RESTful API 在微服务中的作用是什么&#xff1f;】面试题&#xff1f;希望对大家有帮助&#xff1b; Web&#xff0c;RESTful API 在微服务中的作用是什么&#xff1f; 在微服务架构中&#xff0c;Web 和 RESTful …...

Ajax:跨域、防抖和节流、HTTP协议

在善意的“双向奔赴”中&#xff0c;每个普通人都如星辰&#xff0c;微小但释放着自己的光芒&#xff0c;交织成灿烂的星河 文章目录 跨域防抖和节流HTTP协议HTP状态码以及代表意义错误代码的影响移动的小天使 跨域 同源策略 概念&#xff1a;协议&#xff0c;域名&#xff0c…...

数据结构(8.2_2)—希尔排序

希尔排序的定义&#xff1a; 第一趟&#xff1a;先将在排序表中根据增量di分别将数组元素分别插入各个子表 &#xff0c;在进行排序 代码实现&#xff1a; 算法性能分析 稳定性&#xff1a;不稳定&#xff01; 适用性&#xff1a;仅适用于顺序表&#xff0c;不适用于链表 总…...

Netty笔记

本笔记是看了黑马的Netty进行总结的。想要更详细的可以去看视频 学习netty之前要先打好NIO的基础&#xff0c;可以先去看我的另一篇文章 一、概述 不想看的可以直接跳过 Netty 的地位 Netty 在 Java 网络应用框架中的地位就好比&#xff1a;Spring 框架在 JavaEE 开发中的地位…...

管道燃气监管系统

一、建设目标 建立一个高效、智能、安全的管道燃气监管系统&#xff0c;实现对管道燃气的实时监测、风险预警、事故应急处理和数据分析&#xff0c;确保燃气供应的安全稳定&#xff0c;提高燃气管理的效率和水平。 二、系统架构 感知层 安装压力传感器、流量传感器、温度传感…...

Python语法结构(三)(Python Syntax Structure III)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…...

08_Linux文件查找技巧:locate、find 和 grep 命令详解

系列文章导航&#xff1a;01_Linux基础操作CentOS7学习笔记-CSDN博客 文章目录 1. locate命令2. grep命令3. find命令 在Linux系统中&#xff0c;文件查找是一项常见的任务。本文将详细介绍三种强大的文件查找命令&#xff1a;locate、find 和 grep&#xff0c;以及它们的使用…...

JAVA 实验六

一&#xff1a; &#xff08;1&#xff09; 运行以上尟序并尣以上尟序尜尢一行尥码添加注解&#xff0c;将尟序保存尣e601.java &#xff08;2&#xff09; 以上尟序尣类变量是哪一个变量&#xff0c;类尠尞是哪一个尠尞&#xff0c;请找出类变量和类尠尞被使用尜语…...

电脑查不到IP地址是什么原因?怎么解决

在日常使用电脑的过程中&#xff0c;有时会遇到无法查询到电脑IP地址的情况&#xff0c;这可能会影响到网络的正常使用。本文将探讨电脑查不到IP地址的可能原因&#xff0c;并提供相应的解决方案。 一、原因分析 ‌网络连接问题‌&#xff1a;首先&#xff0c;网络连接不稳定或…...

Axure重要元件三——中继器修改数据

亲爱的小伙伴&#xff0c;在您浏览之前&#xff0c;烦请关注一下&#xff0c;在此深表感谢&#xff01; 课程主题&#xff1a;中继器修改数据 主要内容&#xff1a;显示编辑内容、表格赋值、修改数据 应用场景&#xff1a;更新行、表单数据行修改 案例展示&#xff1a; 正文…...

应用层——电子邮件、MIME、简单网络管理协议SNMP

电子邮件 电子邮件系统采用三个主要构件组成&#xff1a;用户代理、邮件服务器、电子邮件所需的协议 我们可以简单的认为邮件服务器中有很多邮箱&#xff0c;还有用来缓存再转发邮件的缓存&#xff0c;发送方使用用户代理通过邮件发送协议。例如SMTP将邮件发送给发送方。 邮件服…...

我与C语言二周目邂逅vlog——8.编译和链接

C语言中的编译和链接过程详细总结 1. 概述 C 语言是一种经典的系统级编程语言&#xff0c;其开发过程包括多个阶段&#xff0c;其中最关键的就是编译和链接过程。编译和链接的理解对于掌握 C 语言程序的构建至关重要。在本篇文章中&#xff0c;我们将深入讲解 C 语言的编译和…...

Views Page 视图页面

下图中显示的 Views 页面允许自定义网格级别及其相应的 View。 Views &#xff08;视图&#xff09; 页面包含两个主要部分&#xff1a; 关卡设计师;请注意&#xff0c;其他设计器页面为在关卡设计器中选择的 View 提供设置;Properties &#xff08;属性&#xff09; 窗口&…...

Win10 IDEA远程连接HBase

Win10 IDEA远程连接HBase Win10 IDEA连接虚拟机中的Hadoop&#xff08;HDFS&#xff09; 关闭Hadoop和Hbase 如果已经关闭不需要走这一步 cd /usr/local/hbase bin/stop-hbase.sh cd /usr/local/hadoop ./sbin/stop-dfs.sh获取虚拟机的ip 虚拟机终端输入 ip a关闭虚拟机…...

1.centos 镜像

centos 它有官网的下载地址&#xff1a;https://vault.centos.org/ 选择想要的版本&#xff0c;我选择 centos7.8 进入到镜像目录 isos 选择 x86_64 选择想要的版本&#xff0c;我选择 CentOS-7-x86_64-DVD-2003.iso 安装就正常安装就行。我选择虚拟机安装。这个参考&…...