Ночью отключили электричество и сервер вырубился. Долго вспоминал как пользоваться утилитой mysqlcheck. Накидал маленький BAT скрипт для восстановления MySQL баз. Поможет в случае проблем с MySQL на серверах Windows.
Ссылки
Customizing the PATH for MySQL Tools
Установка MySQL 8 на Windows Server 2016
https://dev.mysql.com/doc/refman/8.0/en/mysqlcheck.html
Функции
- С помощью mysqlcheck делает проверку и восстановление повреждённых таблиц всех баз данных MySQL на сервере.
- Выполняет проверку, оптимизацию и автоматическое восстановление таблиц.
- Выполняет расширенную проверку и автоматическое восстановление таблиц.
Код
@echo off
SetLocal EnableDelayedExpansion
rem =============================
rem ====== admin variables ======
rem =============================
set user=root
set pass=ПАРОЛЬ
set prot=tcp
set port=3306
set host=localhost
rem =============================
rem ========= mysqlcheck ========
rem =============================
mysqlcheck.exe ^
--user=%user% ^
--host=%host% ^
--protocol=%prot% ^
--port=%port% ^
--password=%pass% ^
--check ^
--optimize ^
--auto-repair ^
--all-databases 2>nul
mysqlcheck.exe ^
--user=%user% ^
--host=%host% ^
--protocol=%prot% ^
--port=%port% ^
--password=%pass% ^
--check ^
--extended ^
--auto-repair ^
--all-databases 2>nul
- user — логин в MySQL
- pass — пароль
- prot — протокол
- port — порт
- host — сервер