用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
数据库
›
Oracle
›
MySQL 免密登录的几种配置方式
MySQL 免密登录的几种配置方式
大号在练葵花宝典
论坛元老
|
2025-1-17 14:13:28
|
显示全部楼层
|
阅读模式
楼主
主题
1592
|
帖子
1592
|
积分
4776
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 用户授权方式为特定用户配置免密登录,同时保存其他用户的密码掩护。
最终,公道的利用免密登录技术,不仅能进步工作效率,还能确保体系的安全性和稳定性。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
大号在练葵花宝典
论坛元老
这个人很懒什么都没写!
楼主热帖
记一次MySql唯一索引在left join连表查 ...
鸿蒙系统架构分析
2021年高教杯数学建模国赛C题的解题过 ...
STM32F1与STM32CubeIDE编程实例-磁簧开 ...
C# 使用dataGridView导入导出excel(NPO ...
【大话云原生】微服务篇-五星级酒店的 ...
MySQL实战45讲 3
springboot请求参数的方法分享 ...
渗透测试过程参考
GO实现Redis:GO实现内存数据库(3) ...
标签云
国产数据库
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
IOS
DevOps与敏捷开发
快速回复
返回顶部
返回列表