bash检查mysql连接

前端之家收集整理的这篇文章主要介绍了bash检查mysql连接前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在写一个bash脚本来对我的debian squeeze Server上的数据库做一些操作.

我注意到如果我为root输入了一个错误的密码,提示将被关闭,我不会被要求再试一次……这不是很方便!

所以我试图创建一个循环,尝试连接到MysqL并保存密码,以便以后成功.

我尝试过这个,但它不起作用.
相反,我收到此错误

ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)

read -s -p "Enter MysqL root password: " MysqLRootPassword

while [[ -n `MysqL -u root -p$MysqLRootPassword` ]]; do
       read -p "Can't connect,please retry: " MysqLRootPassword
done

我在bash脚本方面不是很有经验,任何帮助都会很棒!

@H_301_16@
@H_301_16@
我认为你不需要[[-n backtic …]];测试嵌套就好了.尝试:
read -s -p "Enter MysqL root password: " MysqLRootPassword

while ! MysqL -u root -p$MysqLRootPassword  -e ";" ; do
       read -p "Can't connect,please retry: " MysqLRootPassword
done

同时评估任何命令组直至结束;执行并检查执行的最后一个命令的返回代码,以确定是否应该执行循环.因为您正在寻找失败,您必须在测试之前使用逻辑NOT(!)或者您可以使用语法等效,即

until MysqL -u root -p$MysqLRootPassword  -e ";" ; do
       read -p "Can't connect,please retry: " MysqLRootPassword
done

您可以将其视为’直到MysqL正常工作,继续尝试获取正确的密码’.

不幸的是,我无法访问MysqL安装,所以这是未经测试的.

我希望这有帮助.

@H_301_16@

猜你在找的Bash相关文章