检查 MySQL 服务器何时准备好 运行 查询而不中断它们

Checking when a MySQL server is ready to run queries without interrupting them

我正在使用 Percona Docker 图像,纯粹用于本地测试(5.6,因为这是我需要测试的)。

我想在服务器准备就绪时 运行 一个初始化脚本。到目前为止,我已经尝试了其他类似问题中提到的两件事:mysqladmin ping --silentmysqladmin -uroot status.

然而,在这两种情况下,当我 运行 初始化脚本一旦他们 return 0,脚本就会在一两秒内中断(ERROR 1317 (70100) at line ___: Query execution was interrupted ).大多数脚本 运行s,但最后几个查询没有成功。

如果我等待这些命令 return 0,然后 然后 再睡 5 秒左右,我就不会被打扰。为什么会有这种行为差异?我如何在 运行 初始化脚本之前对其进行测试,这样我就不必在我的代码中保留丑陋的 sleep 5

结果是官方 Percona docker 图像启动并关闭 MySQL 几次后才完全启动,导致中断。

这可以用 docker run percona:5.6 来验证。

有关详细信息,请参阅