MySql 1045 使用 --defaults-file 时

Sri*_*jit 4 mysql redhat credentials

我有一个奇怪的问题。我在 RHEL 上运行了 MySql。我可以登录到 MySql

mysql -uroot -pmyPassword
Run Code Online (Sandbox Code Playgroud)

它工作正常。此外,当我尝试从 .sh 脚本执行查询时,如下所示,它工作正常

mysql --user=root --password=myPassword --host=localhost --port=3306 -se "SELECT 1 as testConnect" 2>&1>> $OUTPUT

但是当我将用户名和密码存储在 msql.conf 文件中时,如下所示

[clientroot] 
user=root
password=myPassword
Run Code Online (Sandbox Code Playgroud)

然后更改脚本中的行,如下所示

mysql --defaults-file=msql.conf --defaults-group-suffix=root -hlocalhost -P3306 -se "SELECT 1 as testConnect" 2>&1>> $OUTPUT

当我运行它时,我收到错误:

错误 1045 (28000): 用户 'root'@'localhost' 访问被拒绝(使用密码:YES)

我正在运行脚本,sudo并且配置文件与脚本位于同一目录中

0600对配置文件有权限。

我如何使这项工作?

Moc*_*ing 6

它对我有用,但这是一个实际文档中未显示的“棘手”修复程序。你所要做的就是改变

[clientroot] 
user=root
password=myPassword
Run Code Online (Sandbox Code Playgroud)

[clientroot] 
user="root"
password="myPassword"
Run Code Online (Sandbox Code Playgroud)

基本上只需添加双引号。

然后运行你的命令:

mysql --defaults-file=msql.conf --defaults-group-suffix=root -hlocalhost -P3306 -se 
"SELECT 1 as testConnect" 2>&1>> $OUTPUT
Run Code Online (Sandbox Code Playgroud)

应该工作(它对我有用)。

我通过查看文档中几乎不相关的东西的晦涩部分发现了这一点,所以我不会责怪每个人都错过了它。