Shell下实现免密码快速登陆MySQL数据库的方法

发布时间 - 2026-01-11 01:56:09    点击率:

背景

当我们在 Shell 下想要通过 mysql-client 登陆到 MySQL 数据库的时候,我们总是需要非常麻烦的输入一次又一次的密码。

而且,如果你的 root 密码是高度随机的话(LastPass大法好),那么你登陆一次 MySQL 数据库的成本就会非常大了。

通常我们登陆数据库的时候都是这样登陆的,如下

root@imlonghao:~# mysql -uroot -p
Enter password: 

那么,有没有一个办法能够既安全,又能简单方便地登陆到数据库去呢?

方法

答案当然是有的,而且,MySQL 也已经帮我们想过这个问题了!

参考链接:End-User Guidelines for Password Security

使用 .my.cnf 快速登陆

在 ~/ 目录新建一个 .my.cnf 文件。当然,如果你已经有这个文件了,直接修改这个文件即可!

我个人喜欢用 vim 大法,于是我们就可以这样

vim ~/.my.cnf

然后在文件中写入下面的信息

[client]
password=your_pass
user=your_user

注意:修改 your_pass 和 your_user 为你想要登陆用户的密码和用户名

下面是一个例子:

[client]
password=mysqlrootpassword123321
user=root

如果你已经有 .my.cnf 这个文件了,就在 [client] 栏位写入信息即可!

注意:由于 .my.cnf 文件中明文写了你的密码,因此要注意设置这个文件的文件权限

root@imlonghao:~# chmod 400 ~/.my.cnf

保存后,我们就可以直接使用 mysql 命令登陆 MySQL 数据库了!

注:如果你需要指定一个设置文件而不使用默认的 ~/.my.cnf 的话,就需要使用 --defaults-file=file_name 参数了。例:

root@imlonghao:~# mysql --defaults-file=/home/imlonghao/mysql-opts

使用环境变量 MYSQL_PWD 快速登陆

MySQL优先会使用环境变量中的参数作为运行参数

root@imlonghao:~# export MYSQL_PWD=your_pass

设置后,再次登陆 mysql 就不需要再次输入密码了。

不过需要注意的是,如果你退出了当前的 Shell 的话,这个环境变量就会消失。

更需要注意的是,你在 Shell 输入的命令,会被自动保存, history 就可以看到你输入过的命令。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# shell  # 登陆mysql  # mysql  # 密码  # 免密码登陆  # Shell脚本实现服务器多台免密登录操作  # Shell自动化配置SSH免密登录和取消SSH免密配置脚本  # xshell 远程登陆CentOS7 免密登陆的思路详解  # Linux下实现SSH免密码登录和实现秘钥的管理、分发、部署SHELL脚本分享  # 如果你  # 的是  # 就会  # 就可以  # 需要注意  # 都是  # 是一个  # 就在  # 出了  # 就不  # 为你  # 你在  # 这个问题  # 而不  # 要注意  # 写了  # 大了  # 想过  # 又能  # 当我们 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 香港服务器租用费用高吗?如何避免常见误区?  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  如何在云虚拟主机上快速搭建个人网站?  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  如何用PHP快速搭建高效网站?分步指南  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  如何快速查询域名建站关键信息?  iOS中将个别页面强制横屏其他页面竖屏  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  太平洋网站制作公司,网络用语太平洋是什么意思?  如何在阿里云完成域名注册与建站?  微信小程序 wx.uploadFile无法上传解决办法  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  新三国志曹操传主线渭水交兵攻略  北京的网站制作公司有哪些,哪个视频网站最好?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  七夕网站制作视频,七夕大促活动怎么报名?  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  高端网站建设与定制开发一站式解决方案 中企动力  JavaScript中的标签模板是什么_它如何扩展字符串功能  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  敲碗10年!Mac系列传将迎来「触控与联网」双革新  如何确保FTP站点访问权限与数据传输安全?  音乐网站服务器如何优化API响应速度?  Windows Hello人脸识别突然无法使用  高防服务器租用指南:配置选择与快速部署攻略  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  Laravel如何使用Blade模板引擎?(完整语法和示例)  如何在Ubuntu系统下快速搭建WordPress个人网站?  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  JavaScript如何操作视频_媒体API怎么控制播放  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  教你用AI将一段旋律扩展成一首完整的曲子  java获取注册ip实例  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  Android Socket接口实现即时通讯实例代码  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  Android 常见的图片加载框架详细介绍  Laravel用户密码怎么加密_Laravel Hash门面使用教程  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?