嗨,我有一个脚本来划分一些mysql数据库。我们正在从5.5升级到5.6。在测试脚本时,我注意到,在新的5.6版本中,mysql返回警告:在命令行界面上使用密码可能不安全
修复此问题的最佳方法是什么?我读到一个变通方法是
2
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`
如果您使用的是MySQL/5.6.6或更高版本,则可以使用名为MySQL_config_editor的捆绑工具:
mysql\u config\u编辑器
实用程序[…]使您能够将身份验证凭据存储在名为的加密登录路径文件中。迈洛金。cnf
。文件位置是Windows上的%APPDATA%\MySQL
目录,以及非Windows系统上当前用户的主目录。MySQL客户端程序稍后可以读取该文件,以获取连接到MySQL服务器的身份验证凭据。
使用该工具,您可以分配多个命名凭据(“登录路径”):
$ mysql_config_editor set --login-path=backup-user --host=localhost --user=backup --password
Enter password:
$ mysql_config_editor print --all
[backup-user]
user = backup
password = *****
host = localhost
... 支持该功能的客户端(如官方命令行客户端或mysqldump)可以在以后使用:
$ mysql --login-path=backup-user
Welcome to the MySQL monitor. Commands end with ; or \g.
请注意,这并不是真正加密密码(位于.mylogin.cnf
的凭据仅被模糊处理),它只是将它们从脚本中移开。
当然,拥有5.6.6是首先获得“警告:在命令行界面上使用密码可能不安全”的主要原因;-)
解决这个问题的一种方法是在~/中设置适当的变量。我的cnf
文件。类似的东西应该会有所帮助:
[mysql]
user=my_username
password=my_password
这应该位于执行命令的用户的主目录中。不要忘记对文件设置正确的权限,以避免其他用户读取:chmod 600~/。我的cnf
。
我用cPanel创建了一个cronjob。 每隔一段时间,它会运行这个php文件来生成备份: 常量、和存储在文件中。 每次cron运行时,我都会收到以下警告消息: 警告:在命令行界面上使用密码可能不安全。 我以为在那里添加常量是安全的,所以我的问题是: 如何以安全的方式运行cron作业?
问题内容: 当我尝试从Terminal在MySQL上运行以下命令时: 执行工作按预期方式进行,但始终会发出警告: 警告:在命令行界面上使用密码可能不安全。 但是,我必须使用存储我的密码的环境变量()进行上述声明,因为我想在Terminal中从bash脚本中迭代地运行命令,而且我绝对不喜欢等待提示出现的想法并迫使我在一个脚本中输入50或100次密码。所以这是我的问题: 抑制警告是否可行?该命令可以按
问题内容: 对于那些想回复我应该使用SSH密钥的人,请弃权 我试图在bash脚本中使用Expect提供SSH密码。提供密码是可行的,但是我并没有像我应该的那样最终进入SSH会话,它将回溯到bash。 我的剧本: 我的脚本的输出: 我想拥有我的SSH会话,并且只有在退出该会话后才能返回我的bash脚本。我之所以使用bash,是因为我使用了可以选择要连接到的设备的菜单。 谢谢 问题答案: 混合bash
问题内容: 每次我在Debian中使用命令行运行脚本时,都会得到脚本的结果,然后得到脚本的结果。 该脚本可以工作,但是屏幕上总是为每个空行打印一条语句。每个空白行都会导致找不到命令。 我正在从该文件夹运行脚本。 这是脚本: 我通过键入以下命令来运行它: 为什么会发生这种情况? 问题答案: 确保您的第一行是: 输入您的bash路径(如果不是) 尝试运行: 这样会将行尾等从Windows转换为Unix
问题内容: PHP必须正确地转义任何可能引起问题的字符。为BASH模仿此功能的最佳方法是什么? 无论如何,有使用bash做准备好的mysql语句吗?这似乎是最好的方法。 我的大多数变量都不会(不应)具有特殊字符,但是我为用户提供了完全自由的密码密码。它可能包含’和’之类的字符。 我可能正在执行多个SQL语句,所以我想创建一个包含参数并随后运行该语句的脚本。这是我到目前为止的内容: doSQL.sh
问题内容: 我有一个python脚本,该脚本在运行时会在终端上记录信息,我想将此记录信息发送到文本文件, 为了实现这一点,我正在插入文件 在文件末尾,我放入 问题是当它调用第一个命令时,它将终止脚本, 提前感谢我如何做这项工作的任何建议 问题答案: 问题在于,直到退出产生的外壳程序才返回,这时您的Python脚本将恢复。 执行所需操作的最简单方法是使用Python脚本作为参数来调用自身。代替 您将