有客户在编写前期数据库安全规范时,就如何更安全的在 Linux Shell 端操作 MySQL 这一块,让我们帮忙出一份详尽的说明文档。其中有一项内容就是如何在 Linux Shell 下调用 MySQL 各种命令行工具时屏蔽掉烦人的告警信息输出,诸如下面这样:
root@ytt-ubuntu18:/home/ytt# mysql -uytt -proot -e "select version()" mysql: [Warning] Using a password on the command line interface can be insecure. +-----------+ | version() | +-----------+ | 8.0.29 | +-----------+
其实这是一个非常古老的问题!百度随便一搜,各种解决方法都有,但都写的不是很完善。
这样的告警信息对命令执行结果的输出非常不友好,那么我们如何屏蔽掉它?下面我来罗列下几种我能想到的方法,以供参考。
1、给用户空密码(不推荐)
给用户赋予空密码虽然可以屏蔽掉警告信息,但是极不安全,类似于 MySQL 服务初始化时的 --initialize-insecure 选项。
root@ytt-ubuntu18:/home/ytt# mysql -u ytt_no_pass -e "select user()" +-----------------------+ | user() | +-----------------------+ | ytt_no_pass@localhost | +-----------------------+
2、配置文件不同块加入用户名密码(不推荐)
MySQL 的配置文件有 my.cnf、mysql.cnf、mysqld.cnf 等等,只要在这些配置文件里的不同块下添加对应的用户名和密码即可。
root@ytt-ubuntu18:/home/ytt# cat /etc/mysql/conf.d/mysql.cnf [mysql] promp

本文介绍了如何在Linux Shell环境下操作MySQL时避免显示烦人的警告信息,包括不推荐的空密码方法、配置文件添加用户密码、设置环境变量,以及推荐的重定向错误输出到空设备和使用mysql_config_edit工具创建login_path。强调了安全性和按需分配用户权限的重要性。
最低0.47元/天 解锁文章
183

被折叠的 条评论
为什么被折叠?



