Не удается решить проблему, потому что MySQL продолжает перезапуск - PullRequest
0 голосов
/ 26 сентября 2019

Я получаю сообщение об ошибке ниже.Я не уверен, как запустить команду, которая говорит мне выполнить, потому что контейнер продолжает перезапускаться.Короче говоря, мое хранилище заполнилось, потому что по какой-то причине мои файлы журнала продолжали увеличиваться, пока не заполнили диск.Я удалил файлы журналов для Nginx и мои глобальные журналы БД.После чего я перезапустил сервер.Все контейнеры вернулись рядом с контейнером services_global-db_1.При проверке журнала для этого контейнера я получаю следующее сообщение:

2019-09-25T20:20:15.842133542Z 2019-09-25 20:20:15 140606507280320 [Note] Found 2 prepared transaction(s) in InnoDB
2019-09-25T20:20:15.842251547Z 2019-09-25 20:20:15 140606507280320 [ERROR] Found 2 prepared transactions! It means that mysqld was not shut down properly last time and critical recovery information (last binlog or tc.log file) was manually deleted after a crash. You have to start mysqld with --tc-heuristic-recover switch to commit or rollback pending transactions.
2019-09-25T20:20:15.842326927Z 2019-09-25 20:20:15 140606507280320 [ERROR] Aborting

Я попытался открыть сеанс bash (docker exec -it services_global-db_1 bash) с контейнером, чтобы я мог выполнить команду SQL, указанную ниже (mysqld_safe --tc-heuristic-recover=COMMIT) но каждый раз я получаю сообщение о том, что Container 64b72eb0898e7... is restarting, wait until the container is running.

Как я могу запустить команду в контейнере, который я не могу продолжать выполнять из-за ошибки в SQL, которую я не могу исправитьне имея возможности выполнить указанную команду?

Обновление: я попытался вручную запустить контейнер MariaDB с помощью docker run -it --rm --entrypoint /bin/bash easyengine/mariadb:v4.0.0, чтобы я мог выполнить команду SQL, которую мне нужно выполнить, чтобы исправить ошибку базы данных.Я могу запустить контейнер и получить к нему доступ, но когда я пытаюсь запустить службу MySQL, я получаю следующую ошибку:

[Warning] Could not open mysql.plugin table. Some options may be missing from the help text
log-error

Я предполагаю, что в моем операторе run отсутствует какая-либо команда или аргумент, который создаетконтейнер неправильно или что-то в этом роде, потому что похоже, что MariaDB не может найти правильные файлы для открытия или что-то в этом роде.Может кто-нибудь объяснить мне, как запускать контейнер MariaDB вручную, чтобы я мог включить службу MySQL и запустить сценарий, чтобы разрешить ошибки фиксации и восстановить и запустить базу данных?

Пожалуйста и поблагодаритеВам за любую помощь вы можете оказать!

...