Mysql: [Warning] Using a password on the command line interface can be insecure解决方案

Mysql 5.5以上版本,在命令行输入-ppassword执行sql语句时,会有警告: [Warning] Using a password on the command line interface can be insecure. 

这个问题导致我们将sql执行结果输出时总会带有“[Warning] Using a password on the command line interface can be insecure. ”

关闭此警告,有三种方法:

1、使用mysql_config_editor。

mysql_config_editor 是于用户安全认证的一个工具,使用方式如下:

/usr/local/mysql/bin/mysql_config_editor set ––login-path=zone ––user=root ––host=127.0.0.1 ––port=9001 -p

Enter password: (输入mysql用户root的密码)。

测试:echo -e “show databases;”|/usr/local/mysql/bin/mysql ––login-path=test ,成功!

此方法会在用户主目录下生成加密文件

[root@localhost ~]# file ~/.mylogin.cnf
.mylogin.cnf: data

修改用户密码后再测试登录
mysql>set password for root@’localhost’=password(‘abc’);
mysql>flush privileges;
登录测试:
/usr/local/mysql/bin/mysql –login-path=test
登录失败。

说明用户密码被修改后,需要重新创建login-path。

2、通过环境变量存储密码。

export MYSQL_PWD=password ;

/usr/local/app/mysql/bin/mysql -h127.0.0.1 -Pport -uroot

该方案简单有效。

3、将告警信息输出到文件或丢弃,采用 2>/dev/null 或 2>/path/file 等方式,简单粗暴有效,但容易忽略掉其他告警信息。

总结:推荐使用第一种方法。

 

发表评论

邮箱地址不会被公开。