如何检查已设置用户和密码的 MySQL 数据库是否准备就绪?
如果没有密码,命令应该是:
mysqladmin ping -h localhost
MYSQL_ROOT_PASSWORD
在我的测试环境中,MySQL 数据库已经在名为 的环境变量中设置了密码abc123
。简单地提供密码-p
似乎不起作用:
mysqladmin ping -h localhost -p abc123
MySQL 数据库平均需要大约 20 秒才能启动。
答案1
请查看手册https://dev.mysql.com/doc/refman/8.0/en/mysqladmin.html
您可以提供帐户/用户名和密码--user
以及--password
命令行开关来登录。
根据您的需要,您可以简单地检查退出代码mysqladmin ping
而不提供任何凭据,因为它已经为您提供了数据库服务器状态:
ping
检查服务器是否可用。如果服务器正在运行,mysqladmin 的返回状态为 0,否则为 1。即使出现访问被拒绝等错误,该值也为 0,因为这意味着服务器正在运行但拒绝连接,这与服务器没有运行不同。
看https://stackoverflow.com/q/25503412关于使用mysqladmin ping
健康检查的一些其他考虑
答案2
如果您在命令行中提供密码,则 -p 和提供的密码之间不应有空格。
所需的命令应该是
mysqladmin ping -h localhost -pabc123
不是
mysqladmin ping -h localhost -p abc123