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

pmd*_*aly 3 mysql shell

我试图弄清楚如何测试是否可以使用给定的用户、密码和数据库名称信息进行连接。我从环境文件中解析出用户名、密码和数据库名,然后我想测试连接是否可能。如果可能,继续执行脚本的其余部分,如果不可能,则退出并打印错误消息。我想测试连接,因为我有另一个更大的脚本,它只运行所有东西,但如果它失败了,我无法判断它在哪里失败。

Tob*_*ght 8

您可以进行无操作连接:

mysql -e '\q'
Run Code Online (Sandbox Code Playgroud)

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

mysql -u root -e '\q'
Run Code Online (Sandbox Code Playgroud)

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

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