Bash Script Mysql警告:在命令行界面上使用密码可能不安全

and*_*sg3 6 mysql linux passwords bash

嗨我有一个脚本来分区一些mysql数据库.我们正在从5.5升级到5.6.在测试脚本时,我注意到使用新的5.6版本mysql返回Warning: Using a password on the command line interface can be insecure.什么是解决此问题的最佳方法?我阅读了一个解决方法,2>/dev/null但如果它们发生,我将无法获得退出代码或任何错误.有没有其他方法可以做到这一点.这是有问题的代码行:

MYSQL_RESULT=`echo "SET sql_log_bin=0;SET @pdb='$DB',@ptable='$table';CALL maintenance(@pdb,@ptable);SET sql_log_bin=1;"|mysql -uUSER -pPASSWORD database`
Run Code Online (Sandbox Code Playgroud)

pgl*_*pgl 6

解决此问题的一种方法是在~/.my.cnf文件中设置适当的变量.类似的东西应该有所帮助:

[mysql]                                                                                                                                                   
user=my_username                                                                                                                                          
password=my_password
Run Code Online (Sandbox Code Playgroud)

这应该存在于执行命令的用户的主目录中.并且不要忘记在文件上设置正确的权限,以避免其他用户可读:chmod 600 ~/.my.cnf.