我目前正在通过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.
答案 0 :(得分:2)
你的命令打开一个mysql会话作为参数传递mysql密码(我在第十天看到这个消息)。
答案 1 :(得分:1)
不要将密码放在命令行上,而是创建一个~/.my.cnf
文件,并将密码放在那里。该文件可以为任何命令行选项提供默认值。例如,您可以将其放入其中:
[client]
database = test
user = test
password = test
然后你可以运行:
mysql --execute='DROP DATABASE $user; CREATE DATABASE $database;'
确保文件的权限受到限制,因此未经授权的用户无法看到密码。