mysql - 在 shell 脚本中使用 mysql_config_editor
问题描述
我无法理解为什么此行在命令行中有效:
mysql --login-path=local
我得到了预期的典型mysql> _
提示。
但是,当我在我的 shell 脚本中使用以下内容时:
#!/bin/bash
mysql --login-path=local -e "SELECT contractor FROM contractor" | while read contractor; do
echo "Contractor: $contractor"
done
这就是我尝试运行那个小脚本时发生的情况:
zak@yserver:$ shcontractors.sh错误
1045 (28000): 拒绝用户 'zak'@'localhost' 的访问(使用密码:否)
问题是,当我设置时,local
我使用了root
用户(我知道坏主意——但这只是概念证明而不是生产),如下所示:
mysql_config_editor set --login-path=local --host=localhost --user=root --password
根据我的阅读,我正确地使用了它——它可以在命令行上运行......只是不在我的 shell 脚本中——我的语法有问题吗?
经过深思熟虑 - 我无法理解为什么 1)它使用zak
用户名 - 并且 2)它使用 PASSWORD NO
- 当我清楚地将用户名设置为root
并在提示符上输入密码时。
更新
如果我使用bash
而不是sh
-- IE ,它也会失败
zak@yserver:$ bashcontracts.sh错误
1045 (28000): 拒绝用户 'zak'@'localhost' 的访问(使用密码:否)
解决方案
推荐阅读
- node.js - 给定 HapiJS 服务器对象,如何确定插件是否已注册?
- r - 带有 Flextable 的多行标题
- node.js - Mongoose 将数组值返回为“未定义”
- selenium - 如何从 selenium 中的字段中删除数据
- php - 如何在 get_where 中使用 LIKE
- sql-server - 哪个帐户用于访问数据库(WCF / 无 AD / IntegratedSecurity)?
- docker - 如何从 PHP 中的 wordpress docker 图像写入 STD / docker 日志?
- c# - 由于“AMD64”处理器不匹配,无法在 MSIX 中发布 WPF
- javascript - 如何循环 API 调用以获取层次结构,直到条件为真?
- python - Is there a way to take a large group of 2D images and turn the into a 3D image?