Почему mysqld завершает работу перед запуском в официальном образе Percona docker для версий 5.6 и 5.7 - PullRequest
0 голосов
/ 02 августа 2020

Я заметил это из-за вопроса, который я задал здесь . При использовании простого

docker run percona:5.6

или

docker run percona:5.7

журналы показывают, что mysqld отключается перед повторным запуском навсегда. Ошибок нет:

2020-08-02T00:17:56.392322Z 0 [Note] mysqld: ready for connections.
Version: '5.7.30-33'  socket: '/var/lib/mysql/mysql.sock'  port: 0  Percona Server (GPL), Release 33, Revision 6517692
mysql: [Warning] Using a password on the command line interface can be insecure.
Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.
mysql: [Warning] Using a password on the command line interface can be insecure.

2020-08-02T00:17:59.781414Z 0 [Note] Giving 0 client threads a chance to die gracefully
2020-08-02T00:17:59.781467Z 0 [Note] Shutting down slave threads
...
2020-08-02T00:18:02.031635Z 0 [Note] mysqld: Shutdown complete

Это поведение одинаково для всех прогонов, а также для Ma c и Ubuntu. Что я могу сделать, чтобы предотвратить это? И что было бы хорошим способом проверить, все ли в порядке? Похоже, что его может и не быть, кроме ожидания. Этого не происходит на 8.0.

1 Ответ

1 голос
/ 02 августа 2020

Первый запуск mysqld - это инициализация каталога данных в режиме bootstrap.

Второй запуск mysqld, запускаемый как служба, выполнит всю аутентификацию и инициализацию, которые обеспечивает boostrap.

Ссылка на Percona dockerhub (под заголовком «Нет подключений до MySQL init complete») указывает, что когда подключение доступно, оно готово к запуску.

Исходный код для точка входа по этому адресу github .

...