busybox ps命令没参数_如何在命令行下使用 MySQL 连接数据库不用每次都输入密码?...

点击上方☝SpringForAll社区 轻松关注!

及时获取有趣有料的技术文章

本文来源:http://rrd.me/g7J9e

我们知道在命令行下可以使用下面的命令连接 MySQL ,其中 xxx 为密码(注意和 -p 参数之间没有空格)。

$ mysql -h 127.0.0.1 -u root -pxxx

可是在命令行下将密码明文显示出来并不是一个好主意,可能会被其他登录到这台计算机上的人使用 ps aux 命令查看到。而且每次连接数据库时都要再输入一遍主机名、用户名、密码,实在让人讨厌。

其实 MySQL 可以将数据库的连接配置保存在文件中,通过读取配置文件来连接数据库。首先,我们创建一个文件:

$ vim ~/mysql/localhost.cnf

在配置文件中写入连接信息:

[client]``host=127.0.0.1``user=root``password=xxx``database=db

然后,在命令行中使用下面的命令就可以连接数据库了:

$ mysql --defaults-file=~/mysql/localhost.cnf

「------------------ 更正 ----------------------」

使用 ps 查看 MySQL 在命令行中的密码很早以前就已经被人注意到了,而且 MySQL 也已经修复了该问题。现在,如果使用了 mysql -h 127.0.0.1 -u root -pxxx 这样带密码的命令行,在 ps 中会显示出 mysql -h 127.0.0.1 -u root -px xxxxxxx 来,如下图所示:

3c8e7d13106844c2d547fc2f463601f5.png
ps-mysql.png

这是因为 MySQL 在启动时重写了命令行参数,对密码做了隐藏处理。但是,尽管如此,还是应该「养成不在命令行参数中指定明文密码的习惯」,而是通过手工输入,或是通过文件的方式。

参考

  1. http://superuser.com/questions/233645/save-mysql-logins
  2. http://unix.stackexchange.com/questions/88665/how-does-ps-know-to-hide-passwords
  3. http://serverfault.com/questions/399262/connect-to-mysql-trough-command-line-without-need-root-password

1f11f29bdef8489d00ff05fdc3eaa7c6.gif

● ES数十亿数据量级的场景下如何优化查询性能?

● 什么?知乎又挂了?我们来聊聊微服务的高可用如何保障

● Spring Cloud Gateway 原生的接口限流该怎么玩

● 那些年非常火的MyCAT是什么?

● Java14带来了许多新功能

33a5bbad21c835a1df53dadfe3002428.png

如果资源对你有帮助的话

❤️给个「在看」,是最大的支持❤️
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值