Я запускаю mariadb в контейнере докера. Я хочу сделать резервную копию и восстановить с помощью дампа sql.
Я создал базу данных для использования с wordpress и создал только одну тестовую страницу. Я установил phpmyadmin в ту же базу данных.
Я создал такую резервную копию:
mysqldump \
--all-databases \
--add-drop-database --add-drop-table \
--user=root --password=password \
> seed.sql
Затем я установил seed.sql
сваливать docker-compose.yml
как это:
volumes:
- mariadb_data:/var/lib/mysql/
- ./seed_data/:/docker-entrypoint-initdb.d/:ro
Затем я удалил mariadb_data
том и контейнер, и перезапустил контейнер. База данных прочитала начальный сценарий и, похоже, восстановила базу данных.
Но журналы показывают это:
/usr/local/bin/docker-entrypoint.sh: выполняется /docker-entrypoint-initdb.d/seed.sql
[ОШИБКА] InnoDB: Таблица
mysql
.innodb_table_stats
не найден.
У меня такая же ошибка с контейнером mysql. Что я сделал не так? Правильно ли я создал резервную копию?
ОБНОВИТЬ
Я только что обнаружил, что это происходит только тогда, когда я использую базу данных для wordpress. Когда я не устанавливаю wordpress в базу данных и не создаю резервную копию и не восстанавливаю ее, я не получаю сообщение об ошибке.
Делать не дамп таблиц в mysql
, information_schema
, performance_schema
- это системные таблицы.