Руководство по устранению неполадок ServBay MariaDB/MySQL
Введение
MariaDB и MySQL — лидирующие системы управления реляционными базами данных с открытым исходным кодом, широко используемые для web-приложений и бизнес-решений. ServBay интегрирует различные версии MariaDB/MySQL в среду macOS и Windows, обеспечивая разработчикам удобную и эффективную локальную базу данных. Хотя эти системы славятся своей стабильностью, во время разработки и эксплуатации могут возникать проблемы: сбои запуска, невозможность подключения или снижение производительности.
Данное руководство поможет пользователям ServBay диагностировать и решать самые распространённые проблемы с MariaDB/MySQL. Вы найдёте основные ошибки, диагностику и пошаговые решения, а также специфичные команды и пути для среды ServBay.
Важные замечания:
- Перед выполнением любых действий, способных изменить данные или конфигурацию, обязательно создайте резервную копию вашей базы данных! ServBay предоставляет встроенное средство для резервного копирования — используйте его регулярно.
- В примерах команд и путей используются номера версий (например,
11.3
или11.5
). Заменяйте их на актуальные для вашей установки — посмотреть их можно в интерфейсе приложения ServBay. - В командах встречаются заполнительные параметры (
<username>
,<database>
,<your_backup.sql>
и т.д.) — подставляйте свои значения: имя пользователя, название базы, файл резервной копии. - Руководство поддерживает macOS и Windows: в соответствующих разделах приведены примерные пути и команды для обеих систем.
Общие шаги предварительной диагностики
Перед детальным разбором проблем рекомендуется выполнить базовые проверки:
Проверьте статус пакета ServBay: Откройте приложение ServBay и убедитесь, что выбранная версия MariaDB/MySQL активна и отображается как “Работает”. Также можно использовать команду:
bashservbayctl status mariadb <version> # Например, для MariaDB 11.3: servbayctl status mariadb 11.3
1
2
3Просмотрите журнал приложения ServBay: В случае ошибок при запуске или управлении пакетами они фиксируются в журнале — доступен через интерфейс ServBay или по основному логу.
Проверьте журнал ошибок MariaDB/MySQL: Это основной источник информации о сбоях при запуске и работе. Пути к журналу:
macOS:
bash/Applications/ServBay/logs/mariadb/<version>/<version>.err # Например, последние 50 строк журнала ошибок MariaDB 11.3: tail -n 50 /Applications/ServBay/logs/mariadb/11.3/11.3.err
1
2
3Windows:
cmdC:\ServBay\logs\mariadb\<version>\<version>.err # Например, как посмотреть последние 50 строк журнала ошибок MariaDB 11.3: powershell "Get-Content -Path 'C:\ServBay\logs\mariadb\11.3\11.3.err' -Tail 50"
1
2
3Внимательно изучайте последние записи — они чаще всего содержат причину проблемы.
Частые проблемы и их решения
1. Ошибка подключения: SQLSTATE[HY000] [2002] No such file or directory
Эта ошибка говорит о том, что клиент не может установить соединение с MariaDB/MySQL через Unix socket. На macOS Unix socket — это локальный механизм обмена данными между процессами, используемый для быстрой работы на одном компьютере (в отличие от TCP/IP). Если путь к socket или сам файл недоступен, возникает указанная ошибка.
Возможные причины и решения:
- MariaDB/MySQL не запущены:
- Проверьте состояние пакета через интерфейс ServBay или командой
servbayctl status mariadb <version>
. - Если не запущено — используйте:
servbayctl start mariadb <version>
, затем проверьте журнал ошибок (.err
), чтобы узнать причину сбоя запуска.
- Проверьте состояние пакета через интерфейс ServBay или командой
- Неправильный путь к socket (только macOS/Linux):
- Путь к socket-файлу на клиенте должен совпадать с тем, что указан в серверном конфиге (
my.cnf
). - macOS: Посмотрите параметр
socket
в файле конфигурации/Applications/ServBay/etc/mariadb/<version>/my.cnf
. - Windows: Unix socket не используется, задействуются именованные каналы или TCP/IP.
- macOS: Проверьте, что приложение или клиент указывают правильный путь к socket. Обычно ServBay создаёт файл socket в
/Applications/ServBay/tmp/
или/tmp/
, например/Applications/ServBay/tmp/mysql.sock
или/tmp/mysql.sock
.
- Путь к socket-файлу на клиенте должен совпадать с тем, что указан в серверном конфиге (
- Проблема с настройками ServBay по умолчанию:
- В “Настройки” → “SQL сервер по умолчанию” подтвердите, что правильная версия выбрана. Некоторые инструменты (например, командный клиент
mysql
без ключей-S
или-h
) будут пытаться подключаться к версии по умолчанию.
- В “Настройки” → “SQL сервер по умолчанию” подтвердите, что правильная версия выбрана. Некоторые инструменты (например, командный клиент
- Права доступа:
- macOS: У пользователя, под которым запущен MariaDB/MySQL, должны быть права на директорию, содержащую socket, а у клиента — на чтение socket-файла. ServBay обычно настраивает права корректно, но если вы вручную меняли права на
/Applications/ServBay/tmp/
или/tmp/
, возможен сбой. - Windows: Убедитесь, что пользователь ServBay обладает правами на создание именованных каналов и прослушивание порта.
- macOS: У пользователя, под которым запущен MariaDB/MySQL, должны быть права на директорию, содержащую socket, а у клиента — на чтение socket-файла. ServBay обычно настраивает права корректно, но если вы вручную меняли права на
Альтернатива (принудительно использовать сетевое подключение):
- Попробуйте подключиться по IP
127.0.0.1
вместоlocalhost
— это заставит клиента использовать TCP/IP, минуя Unix socket. Если с127.0.0.1
подключение устанавливается, скорее всего проблема именно с socket.bashmysql -u <username> -p -h 127.0.0.1 -P 3306
1
2. Ошибка подключения: проблемы с сетью (Connection refused
, Can't connect to MySQL server
)
Такие ошибки указывают на невозможность установить TCP/IP соединение с сервером MariaDB/MySQL.
Возможные причины и решения:
MariaDB/MySQL не запущен: (проверьте статус и
.err
лог, как выше)Порт занят:
- Проверьте, что порт (по умолчанию 3306) не занят другим процессом.
macOS:
bashlsof -i :3306 # или netstat -anv | grep LISTEN | grep 3306
1
2
3Windows:
cmdnetstat -an | findstr :3306 # либо в PowerShell Get-NetTCPConnection -LocalPort 3306
1
2
3Если порт занят — завершите захвативший процесс или поменяйте значении параметра
port
в конфиге MariaDB/MySQL, затем перезапустите пакет:- macOS:
/Applications/ServBay/etc/mariadb/<version>/my.cnf
- Windows:
C:\ServBay\etc\mariadb\<version>\my.cnf
Блокировка соединения брандмауэром:
macOS:
- Проверьте настройки macOS → Сеть → Брандмауэр.
- Можно временно разрешить работу процесса
mysqld
через:bash# Проверьте путь sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /Applications/ServBay/bin/mariadb/<version>/bin/mysqld sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp /Applications/ServBay/bin/mariadb/<version>/bin/mysqld
1
2
3
Windows:
- Проверьте параметры Windows Defender или стороннего брандмауэра.
- Добавьте правило для приложения или порта:cmd
netsh advfirewall firewall add rule name="ServBay MariaDB" dir=in action=allow program="C:\ServBay\bin\mariadb\<version>\bin\mysqld.exe"
1
Параметр
bind-address
:- В файле
my.cnf
проверьте значениеbind-address
. Если указано127.0.0.1
илиlocalhost
— сервер принимает только локальные TCP/IP-соединения. Чтобы разрешить подключения извне, установите0.0.0.0
(любой IP) или конкретный адрес, не забыв про брандмауэр.
- В файле
Проблемы с резолвом (
localhost
):- Проверьте правильность разрешения имени
localhost
в127.0.0.1
(IPv4),::1
(IPv6):
macOS:
bashping localhost # Посмотреть hosts-файл cat /etc/hosts
1
2
3Windows:
cmdping localhost # Проверить hosts-файл type C:\Windows\System32\drivers\etc\hosts
1
2
3Проверьте наличие корректных записей; отключите локальные прокси, которые могут влиять на локальные подключения.
- Проверьте правильность разрешения имени
3. MariaDB/MySQL не запускается
Возможные причины и решения:
Просмотрите журнал ошибок (самое важное): Оттуда узнаете причину сбоя запуска.
- macOS:
/Applications/ServBay/logs/mariadb/<version>/<version>.err
- Windows:
C:\ServBay\logs\mariadb\<version>\<version>.err
- macOS:
Ошибки конфигурации: Некорректный синтаксис, неверные параметры, ошибочные пути.
Где искать конфиг:
- macOS:
/Applications/ServBay/etc/mariadb/<version>/my.cnf
- Windows:
C:\ServBay\etc\mariadb\<version>\my.cnf
Проверьте исправность синтаксиса:
bash# macOS /Applications/ServBay/bin/mariadb/<version>/bin/mysqld --defaults-file=/Applications/ServBay/etc/mariadb/<version>/my.cnf --validate-config # Windows C:\ServBay\bin\mariadb\<version>\bin\mysqld.exe --defaults-file=C:\ServBay\etc\mariadb\<version>\my.cnf --validate-config
1
2
3
4
5- macOS:
Порт занят: (см. выше:
lsof -i :<port>
илиnetstat
)Мало места на диске: Для директории с базами или логами не хватает места.
Пути:
- macOS: базы —
/Applications/ServBay/db/mariadb/<version>/
, логи —/Applications/ServBay/logs/mariadb/<version>/
- Windows: базы —
C:\ServBay\db\mariadb\<version>\
, логи —C:\ServBay\logs\mariadb\<version>\
- macOS: базы —
Недостаточно прав: У пользователя, запустившего MariaDB/MySQL, должны быть права на чтение конфигурации, работу с базами и логами. Если они были вручную изменены — возможен сбой.
macOS:
bashls -ld /Applications/ServBay/db/mariadb/<version> ls -l /Applications/ServBay/etc/mariadb/<version>/my.cnf ls -ld /Applications/ServBay/logs/mariadb/<version>
1
2
3Убедитесь, что пользователь (например,
_mysql
) обладает правами на чтение/запись/исполнение.Windows: Используйте проводник, чтобы проверить свойства папок и файлов — сервисный пользователь ServBay должен иметь доступ.
Повреждение файлов базы (см. раздел "Крах базы или повреждение данных" ниже): После аварийного выключения или иных проблем файлы могут быть повреждены.
После исправления:
- Перезапустите пакет:
servbayctl restart mariadb <version>
4. Ошибки с правами пользователя и аутентификацией
После успешного соединения могут возникнуть ошибки типа Access denied
— проблема с логином, паролем или правами доступа.
Возможные причины и решения:
- Неправильный логин/пароль: Перепроверьте данные — ServBay позволяет легко сбросить пароль root через интерфейс.
- Ограничения по хосту: У пользователя могут быть ограничения — например,
'username'@'localhost'
не совпадает с'username'@'127.0.0.1'
. Запись'%'
разрешает подключение с любого адреса. - Недостаточно прав: Не разрешено подключение к нужной базе или выполнение нужных действий (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP и др.).
- Проверьте права пользователя:
- Подключитесь под root:bash
mysql -u root -p
1 - В консоли просмотрите права:sql
SHOW GRANTS FOR '<username>'@'<hostname>'; -- Например: SHOW GRANTS FOR 'webapp'@'localhost'; SHOW GRANTS FOR 'admin'@'%';
1
2
3
4 - При необходимости исправьте права через
GRANT
илиREVOKE
, создайте нового пользователя.
- Подключитесь под root:
5. Проблемы с производительностью
Падение производительности базы ощутимо влияет на работу приложения.
Возможные причины и решения:
- Медленные запросы: Низкая эффективность SQL (нет индексов, плохой план).
- Включите log медленных запросов: В
my.cnf
укажитеslow_query_log = 1
,long_query_time = 1
(логируются запросы дольше 1 секунды), и путь к лог-файлуslow_query_log_file
. После перезапуска анализируйте лог. - Используйте
EXPLAIN
: Перед подозрительными запросами:sqlEXPLAIN SELECT * FROM your_table_name WHERE column_name = 'value';
1 - Оптимизируйте запросы: По результатам
EXPLAIN
— перепишите запросы, добавьте индексы, избегайте неоптимальных операций (SELECT *
, использование функций в WHERE и др.).
- Включите log медленных запросов: В
- Нет/неправильные индексы: Часто используемые в условиях, ORDER BY, GROUP BY столбцы без индексирования — вызывает полный скан таблицы.
- Анализ структуры: Найдите столбцы, требующие индексации.
- Создайте индекс:sqlПомните: индекс увеличивает нагрузку на записи и занимает место.
CREATE INDEX idx_column_name ON your_table_name(column_name);
1
- Слабые настройки кэша: Параметры
innodb_buffer_pool_size
,key_buffer_size
и др. вmy.cnf
— слишком малые или огромные значения.- Настройте параметры: Ориентируйтесь на память вашей системы и задачи базы. Обычно
innodb_buffer_pool_size
(InnoDB) рекомендовано выставлять на 50–70% доступной памяти при специализированном сервере. После изменений требуется перезапуск MariaDB/MySQL.ini[mysqld] # Пример; меняйте по ситуации, размер указывается в байтах/К/М/Г innodb_buffer_pool_size = 2G # Для MyISAM таблиц: # key_buffer_size = 256M
1
2
3
4
5
- Настройте параметры: Ориентируйтесь на память вашей системы и задачи базы. Обычно
- Ограничения аппаратных ресурсов: Высокая загрузка CPU, нехватка памяти (swap), проблемы с IO — мониторьте Activity Monitor (macOS) или
top
/htop
через терминал, чтобы выявить узкие места.
6. Крах базы или повреждение данных
База не запускается, часто падает или проявляются ошибки чтения/доступа — вероятное повреждение файлов данных.
Возможные причины и решения:
- Проверьте журнал ошибок: Это первое, что стоит сделать — он содержит сведения о сбое InnoDB, ошибках файловой системы, аппаратных проблемах и пр.
- macOS:
/Applications/ServBay/logs/mariadb/<version>/<version>.err
- Windows:
C:\ServBay\logs\mariadb\<version>\<version>.err
- macOS:
- Аппаратные ошибки: Сбои диска или памяти негативно сказываются на работе базы — проверяйте системные логи, используйте диагностические инструменты.
- Конфликт ПО или ошибки версии: Конфликт с другим софтом или баг внутри MariaDB/MySQL.
- Ошибки конфигурации: Некорректные параметры в
my.cnf
могут вызвать сбои. - Аварийные выключения: Принудительное завершение работы может привести к некорректным состояниям файлов.
Шаги по восстановлению:
- Попытайтесь безопасно перезапустить: Через интерфейс ServBay или команду
servbayctl restart mariadb <version>
. - Используйте
mysqlcheck
: Проверяет целостность таблиц и может восстановить некоторые ошибки (главным образом для MyISAM):bashВнимание: Параметрmysqlcheck --defaults-file=/Applications/ServBay/etc/mariadb/<version>/my.cnf -u root -p --check --all-databases # Для MyISAM-таблиц: # mysqlcheck --defaults-file=/Applications/ServBay/etc/mariadb/<version>/my.cnf -u root -p --auto-repair --check --all-databases
1
2
3--auto-repair
действует для MyISAM. Для InnoDB диагностика доступна, но ремонт может потребовать сложных шагов (см. далее). - Принудительное восстановление InnoDB (
innodb_force_recovery
): Если InnoDB не запускается, попробуйте режимы восстановления. Опасная операция! Возможна потеря данных — используйте только для экстренного экспорта.- Сделайте резервную копию каталога данных (
/Applications/ServBay/db/mariadb/<version>/
). - Отредактируйте файл
/Applications/ServBay/etc/mariadb/<version>/my.cnf
, добавив в секцию[mysqld]
:innodb_force_recovery = N
(где N — от 1 до 6, шаг за шагом, каждый раз перезапускайте и увеличивайте только при неудаче). - Запустите MariaDB/MySQL:
servbayctl start mariadb <version>
. - Если запуск удался (даже в ограниченном или только-чтение режиме), немедленно сделайте экспорт всех данных через
mysqldump
:bashОбязательно проверьте, что файл создан, и его размер соответствует ожиданиям.mysqldump --defaults-file=/Applications/ServBay/etc/mariadb/<version>/my.cnf -u root -p --all-databases --routines --triggers --events > /path/to/your_emergency_backup.sql
1 - После экспорта немедленно остановите пакет:
servbayctl stop mariadb <version>
. - Удалите строку
innodb_force_recovery = N
из конфига (или закомментируйте). - Восстановите данные: Обычно — переинициализация каталога данных, импорт сохранённого дампа через
mysqldump
в свежую базу.
- Сделайте резервную копию каталога данных (
- Восстановление из резервной копии: Если база повреждена без возможности ремонта, либо после ремонта данные неконсистентны — самый надёжный путь восстановления это импорт последнего резервного файла. ServBay хранит их обычно в
/Applications/ServBay/backup/mariadb/<version>/
при использовании встроенных инструментов.- Пример команды для восстановления (допустим в
<target_database_name>
):bashПримечание:# Создайте базу, если нужная не существует # mysql --defaults-file=/Applications/ServBay/etc/mariadb/<version>/my.cnf -u root -p -e "CREATE DATABASE <target_database_name>;" # Импортируйте резервный файл mysql --defaults-file=/Applications/ServBay/etc/mariadb/<version>/my.cnf -u <username> -p <target_database_name> < /Applications/ServBay/backup/mariadb/<version>/<your_backup.sql>
1
2
3
4
5<version>
— ваша актуальная версия MariaDB/MySQL.
- Пример команды для восстановления (допустим в
7. Проблемы с резервным копированием и восстановлением
При использовании встроенных средств ServBay или ручном экспорте/импорте через mysqldump
могут возникнуть ошибки.
Возможные причины и решения:
- Повреждённый или неполный резервный файл:
- Проверьте размер файла (
ls -lh /path/to/your_backup.sql
) — он должен соответствовать ожидаемому объёму данных. - Подрядите файл (через редактор или команду
less
), чтобы убедиться, что это корректный SQL-дамп. - Если дамп создавался
mysqldump
вручную, смотрите, были ли ошибки в процессе. Если использовался инструмент ServBay — проверьте журнал приложения.
- Проверьте размер файла (
- Ошибки при восстановлении:
- Неверно указаны логин, пароль или база.
- Недостаточно прав для импортирующего пользователя.
- Ошибки SQL: при переносе между разными версиями MariaDB/MySQL или типами движка могут возникнуть несовместимые участки.
- Ошибки с внешними ключами: Импорт может не пройти из-за порядка загрузки таблиц. Разрешается временно отключить проверку внешних ключей перед импортом:sqlВнимание: Отключение внешних ключей может вызвать неконсистентность — используйте только во время импорта!
-- Перед импортом: SET foreign_key_checks = 0; -- Импортируйте дамп: source /path/to/your_backup.sql; -- в mysql-клиенте -- или через команду: mysql ... < /path/to/your_backup.sql -- После импорта включите обратно: SET foreign_key_checks = 1;
1
2
3
4
5
6
7
8 - Проблемы с кодировкой или сортировкой: Если в дампе элементы используют другую кодировку/Collation, чем целевая база, возможны ошибки или порча данных. Проверьте, что используемые настройки совместимы.
Корректный импорт базы (для терминала):
macOS:
bash
# Допустим дамп предназначен для конкретной базы:
# Проверьте, что целевая база (<target_database_name>) уже создана
# mysql --defaults-file=/Applications/ServBay/etc/mariadb/<version>/my.cnf -u root -p -e "CREATE DATABASE <target_database_name>;"
# Импорт с нужными параметрами:
mysql --defaults-file=/Applications/ServBay/etc/mariadb/<version>/my.cnf -u <username> -p <target_database_name> < /Applications/ServBay/backup/mariadb/<version>/<your_backup.sql>
# Если дамп содержит все базы (--all-databases), название базы указывать не нужно:
# mysql --defaults-file=/Applications/ServBay/etc/mariadb/<version>/my.cnf -u <username> -p < /Applications/ServBay/backup/mariadb/<version>/<your_backup.sql>
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
Windows:
cmd
REM Предположим, дамп для конкретной базы
REM Создайте базу, если её нет
REM C:\ServBay\bin\mariadb\<version>\bin\mysql.exe --defaults-file=C:\ServBay\etc\mariadb\<version>\my.cnf -u root -p -e "CREATE DATABASE <target_database_name>;"
REM Импорт с корректными параметрами
C:\ServBay\bin\mariadb\<version>\bin\mysql.exe --defaults-file=C:\ServBay\etc\mariadb\<version>\my.cnf -u <username> -p <target_database_name> < C:\ServBay\backup\mariadb\<version>\<your_backup.sql>
REM Если дамп содержит все базы (--all-databases), название базы не требуется
REM C:\ServBay\bin\mariadb\<version>\bin\mysql.exe --defaults-file=C:\ServBay\etc\mariadb\<version>\my.cnf -u <username> -p < C:\ServBay\backup\mariadb\<version>\<your_backup.sql>
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
Внимание: <version>
— номер используемого пакета MariaDB/MySQL. Дамп от ServBay хорошо совместим с инструментами восстановления.
8. Проблема с MariaDB 11.5.1: сбой InnoDB (ib_logfile0 was not found
/ Missing FILE_CHECKPOINT
)
Это известный серьёзный баг в MariaDB 11.5.1, приводящий к невозможности инициализации InnoDB или восстановлению по логу — база не запускается.
Примеры ошибок из журнала:
macOS (/Applications/ServBay/logs/mariadb/11.5/11.5.err
):
[ERROR] InnoDB: File /Applications/ServBay/db/mariadb/11.5/ib_logfile0 was not found
[ERROR] InnoDB: Plugin initialization aborted with error Generic error
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB
1
2
3
4
2
3
4
Windows (C:\ServBay\logs\mariadb\11.5\11.5.err
):
[ERROR] InnoDB: File C:\ServBay\db\mariadb\11.5\ib_logfile0 was not found
[ERROR] InnoDB: Plugin initialization aborted with error Generic error
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB
1
2
3
4
2
3
4
или:
[ERROR] InnoDB: Missing FILE_CHECKPOINT(xxxxx) at xxxxx
[ERROR] InnoDB: Log scan aborted at LSN xxxxx
[ERROR] InnoDB: Plugin initialization aborted with error Generic error
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB
1
2
3
4
5
2
3
4
5
Это означает, что InnoDB не может найти/прочитать свои лог-файлы — движок не инициализируется.
Рекомендации (перед миграцией обязательно попытайтесь сохранить данные):
Ошибка практически не устранима обычными способами. Надёжный путь — попытаться запустить в режиме восстановления, сохранить данные и перенести их в стабильную версию MariaDB.
Попытайтесь запустить с принудительным восстановлением (опасно!):
Отредактируйте конфиг:
- macOS:
/Applications/ServBay/etc/mariadb/11.5/my.cnf
- Windows:
C:\ServBay\etc\mariadb\11.5\my.cnf
В секцию
[mysqld]
добавьте:innodb_force_recovery = 6
Попробуйте запустить сервис:
bashservbayctl start mariadb 11.5
1Если запуск удался — немедленно создайте резервную копию:
macOS:
bashmysqldump --defaults-file=/Applications/ServBay/etc/mariadb/11.5/my.cnf -u root -p --all-databases --routines --triggers --events > /Applications/ServBay/backup/mariadb/11.5/mariadb_11.5_emergency_backup.sql
1Windows:
cmdC:\ServBay\bin\mariadb\11.5\bin\mysqldump.exe --defaults-file=C:\ServBay\etc\mariadb\11.5\my.cnf -u root -p --all-databases --routines --triggers --events > C:\ServBay\backup\mariadb\11.5\mariadb_11.5_emergency_backup.sql
1Обязательно проверьте результат — файл должен быть создан и иметь разумный размер.
- macOS:
Остановите MariaDB 11.5 и обработайте сервис/каталог согласно рекомендациям (удалите или закомментируйте параметр innodb_force_recovery)...