
Как проверить готовность базы данных MySQL, в которой уже заданы пользователь и пароль?
Без пароля команда должна быть такой:
mysqladmin ping -h localhost
Bin в моей тестовой среде база данных MySQL уже имеет пароль, установленный в переменной среды MYSQL_ROOT_PASSWORD
с именем 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