如何测试与mysql服务器的连接?

时间:2016-01-07 16:33:02

标签: mysql shell

我试图找出如何测试是否可以使用给定的用户,pw和db名称信息集进行连接。我从环境文件中解析出user_name,password和database_name,然后我想测试是否可以连接。如果可能,继续执行脚本的其余部分,如果不可能,请退出并打印错误消息。我想测试连接,因为我有另一个更大的脚本只运行所有内容,但如果它失败,我无法告诉它失败的地方。

2 个答案:

答案 0 :(得分:4)

您可以进行无操作连接:

mysql -e '\q'

如果我使用合适的.my.cnf文件运行此文件,则$?为零。如果我尝试使用其他用户:

mysql -u root -e '\q'

然后我收到一条错误消息(可以使用2>/dev/null重定向)并且$?非零。

请注意,与使用带有SQL库的语言和跨多个命令的连接相比,这是一个相当有限的测试。例如。一个连接可能会成功,但后一个连接可能会因网络状况或用户的conf文件或服务器身份验证的更改而失败。

答案 1 :(得分:-1)

我要把htis作为答案,所以我可以使用格式化......

执行类似以下的操作。我不知道你正在使用什么代码,所以这是一个相当通用的例子:

     $conn = (SQL statement); 
     if (!$conn)
         {error output} 
     else
         {do logic}; 

因此,如果您有许多语句,并且每个语句都为每个语句使用唯一的错误输出,那么您可以通过读取输出轻松地判断哪个语句导致问题。