Мне пришлось переделать свой сервер (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)
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).
Остался ли вариант?