Я запускаю 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: running /docker-entrypoint-initdb.d/ seed.sql
[ОШИБКА] InnoDB: Таблица
mysql
.innodb_table_stats
не найдена.
Я получил ту же ошибку с контейнером mysql. Что я сделал не так? Правильно ли я создал резервную копию?
ОБНОВЛЕНИЕ
Я только что обнаружил, что это происходит только тогда, когда я использую базу данных для wordpress. Когда я не устанавливаю wordpress в базу данных, а не создаю резервную копию и не восстанавливаю ее, я не получаю сообщение об ошибке.
Do not дампы таблиц в mysql
, information_schema
, performance_schema
- - это системные таблицы.