Назад | Перейти на главную страницу

mysqldump: не удалось выполнить 'show create table `xxx.yyy`': таблица 'yyy' не существует в движке (1932)

Мне пришлось переделать свой сервер (Debian 9) в Proxmox. Я обновил пакет (libc6) и сломал зависимости (я не снимал его ...). Одним из затронутых демонов был MySQL / MariaDB, мне не удалось сделать резервную копию из PhpMyAdmin, потому что демон не работает, и я не мог подключиться к базе данных.

Теперь я установил Debian 10, но у меня проблемы с восстановлением базы данных с другой машины.

mysqldump: Couldn't execute 'show create table `xxx.yyy`': Table 'yyy' doesn't exist in engine (1932)

Когда я пробовал следующие решения, возникают следующие ошибки:

root@debian:~# mysqldump -u root -p --all-databases > all_databases.sql
Enter password:
mysqldump: Got error: 1932: "Table 'mysql.gtid_slave_pos' doesn't exist in engine" when using LOCK TABLES
root@debian:~# mysqldump --skip-lock-tables -u root -p --all-databases > all_databases.sql
Enter password:
mysqldump: Couldn't execute 'show create table `gtid_slave_pos`': Table 'mysql.gtid_slave_pos' doesn't exist in engine (1932)

Источник: https://support.plesk.com/hc/en-us/articles/213931725-Dump-of-the-MySQL-database-hosted-on-the-Plesk-server-fails-mysqldump-table-doesn-t- Существуют-при-использовании-БЛОКИРОВКИ-ТАБЛИЦЫ

root@debian:~# mysqlfrm --server=xxx:yyy@localhost:3306 test.frm --port=3310
WARNING: Using a password on the command line interface can be insecure.
# Source on localhost: ...
Usage: mysqlfrm --server=[user[:<pass>]@host[:<port>][:<socket>]|<login-path>[:<port>][:<socket>]] [path\tbl1.frm|db:tbl.frm]

mysqlfrm: error: Can't connect to MySQL server on 'localhost:3306' (111 Connection refused)

Источник: https://dba.stackexchange.com/a/127813

MariaDB [(none)]> ALTER TABLE mysql.gtid_slave_pos DISCARD TABLESPACE;
ERROR 1932 (42S02): Table 'mysql.gtid_slave_pos' doesn't exist in engine

Источник: https://stackoverflow.com/questions/51997127/restore-mysql-database-using-only-frm-and-ibd-files

Я постараюсь ответить на некоторые вопросы, которые мне уже задавали.

Я точно не знаю, но думаю, что я сломал MySQL после того, как несколько раз пытался перезапустить службу mysqld / mariadb, когда я пробовал несколько решений, понижающих версию libc6 или пытаясь снова запустить mariadb.

mariadb Ver 15.1 Distrib 10.1.44-MariaDB, для debian-linux-gnu (x86_64) с использованием readline 5.2

mariadb Ver 15.1 Distrib 10.3.22-MariaDB, для debian-linux-gnu (x86_64) с использованием readline 5.2

Нет, я не пробовал ... Но я не нашел ничего полезного ни на сайтах stackoverflow, ни в Google. Возможно, я попытаюсь изучить следующую информацию (я отредактирую этот вопрос позже), но было бы замечательно увидеть ответ, связанный с этим.

Нет, я не пробовал, может быть, обновление mariadb в Debian 9 могло бы стать возможным решением. Но просматривая пакеты для Debian 9, я не нашел версию mariadb 10.3 для Debian 9 (ту, что требует clib6 2.30-10, я был на 2.14).

Можете ли вы использовать mysqldump для других баз данных на сервере (т.е. не для mysql с именем one)?

Да, я делал резервные копии некоторых баз данных, но не мог создать резервную копию всех (только 3 или 4 из 10).

Остался ли вариант?