У вас еще есть установочные файлы? Если это так, найдите их по имени таблицы. На Linux это будет что-то вроде
find /path/to/top/directory -type f -print0 | xargs -0r grep -il 'CREATE TABLE Xyz'
где Xyz
- это имя таблицы, которую вы ищете. Для каждого файла, который он перечисляет, ищите CREATE TABLE Xyz
и CREATE TABLE IF NOT EXISTS Xyz
. Это должно найти оператор 'create' для отсутствующей таблицы. Если на столе также есть триггеры, это потребует дальнейшей работы.
Если у вас нет установочных файлов, но у вас есть все ваши binlogs, вы можете искать (опять же в linux) те с
find /path/to/binlogs -type f -print0 \
| \
xargs -0r file \
| \
fgrep 'MySQL replication log' \
| \
cut -d: -f1 \
>/tmp/binlog.lst
for b in $(</tmp/binlog.lst); do
echo -n $b
mysqlbinlog $b | grep -li 'CREATE TABLE Xyz'
echo
done
Но даже если любой из этих подходов сработает, он получит только оригинальное утверждение create. Если в таблице была «измененная таблица» при установке или обновлении, то это дополнительный поиск.
Без резервной копии я считаю, что лучше всего переустановить ту же версию Service Builder, а затем скопировать полученную таблицу в текущую установку.
Прежде чем идти дальше, сделайте резервную копию того, что у вас есть, например, через что-то вроде mysqldump --opt --all-databases >large_dump_file