bash脚本中的mysql密码警告

时间:2015-05-28 21:04:08

标签: mysql linux bash unix

我目前正在通过bash运行mysql。但是它返回错误:

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

有哪些安全的方法可以实现这一目标?如何在没有此警告的情况下正确调用mysql?

#!/bin/bash/
user=test
password=test
database=test

mysql --user='$user' --password='$password' --database='$database' --execute='DROP DATABASE $user; CREATE DATABASE $database;'

结果

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

2 个答案:

答案 0 :(得分:2)

你的命令打开一个mysql会话作为参数传递mysql密码(我在第十天看到这个消息)。

答案 1 :(得分:1)

不要将密码放在命令行上,而是创建一个~/.my.cnf文件,并将密码放在那里。该文件可以为任何命令行选项提供默认值。例如,您可以将其放入其中:

[client]
database = test
user = test
password = test

然后你可以运行:

mysql --execute='DROP DATABASE $user; CREATE DATABASE $database;'

确保文件的权限受到限制,因此未经授权的用户无法看到密码。