MySQL--避开登录时的[Warning]

时间:2024-04-07 15:55:21

在MySQL中, 如果显示的输入密码去登录的话, 就会有一个Warning显示出来, 提醒这种使用方式会不安全,
信息如下:

 [Warning] Using a password on the command line interface can be insecure.

如何去除,三种方式:

第一种方式: mysql_config_editor
mysql_config_editor是官方发布的一个安全加密登录的工具, 能够 定义一个login-path来管理一组登录用的user,password,host;
方便管理但实例多账户 or 多实例多账户;
用法非常简单~

1、首先要定义一个login-path:

MySQL--避开登录时的[Warning]

2、之后会要求输入密码, 密码输入完以后, 就可以使用预设好的login-path来登录了, 效果如下图

MySQL--避开登录时的[Warning]

可以看到使用login-path的方式登录时, 完全不需要再使用平时的-u, -p等参数了, mysql client会自动去获取预设好的login-path来进行登录;

当然, Warning也不见了~

第二种方式: 常量;

这种方式其实就是利用常量来代替了明文输入密码的这一步骤, 
使用方法也很简单, 在脚本中加入如下命令即可
---------------------------------------------
export MYSQL_PWD=<password>
---------------------------------------------
 

之后在脚本中就不用带上 -p参数了, 直接在命令行试试看~

MySQL--避开登录时的[Warning]

第一次尝试连接用的是root, 可以发现即使不带上-p参数, 也在后面显示出了Using password: Yes, 
说明设定的这个常量已经被当做密码拿去验证登录了;

第二次尝试连接用的是密码对应的账号, 同样不带上-p, 发现数据库可以正常登录, 也没有了那个烦人的Warning~

第三种方式: 2>/dev/null

mysql -u $1 -p$2 -h $3 -e "show variables like 'wait_timeout'" -sss 2>/dev/null

##使用这种方式的弊端是,虽然我们看不到 Warning信息,error 报错信息我们也看不到了