我有一个shell脚本,它使用外部文件中的一个参数调用mysql命令,如下所示(我在其他资源中也看到了这个示例):
mysql --user=root --password=`cat /root/.mysql`不起作用的:
未能连接到MySQL服务器:拒绝用户'root'@'localhost‘的访问(使用密码:是)。
我尝试了不同的引语,但都没有成功。怎么通过?
更新1:发现我可以在没有空格符号的情况下传递密码。这里的问题是,我的根通行证包含空格。
发布于 2016-01-21 05:56:42
最后,这一行起作用了:
mysql --user=root --password="$(cat /root/.mysql)"或者:
mysql --user=root --password="$(< /root/.mysql)"根密码必须没有引号:bla bla bla
如果密码不包含空格,则可以使用:
mysql --user=root --password=`cat /root/.mysql`发布于 2018-02-22 23:53:11
将密码存储在受保护的mysql cnf文件中:
install -m 700 -d /srv/secrets/
install -m 600 /dev/null /srv/secrets/root@localhost.cnf
editor /srv/secrets/root@localhost.cnf将密码存储在client.password ini属性中。
[client]
password="password"将此文件作为第一次论证包含在mysql命令中:
mysql \
--defaults-extra-file=/srv/secrets/root@localhost.cnf \
--user=root \
--host=localhost \
--no-auto-rehash发布于 2019-01-23 03:26:17
使用与mysql客户端一起安装的mysql_config_editor
mysql_config_editor set --login-path=dev --user=dbuser --host=localhost -p输入密码,然后您可以像这样登录
mysql --login-path=devhttps://stackoverflow.com/questions/34916074
复制相似问题