1) Устанавливаем необходимый софт

cd /root/
wget https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-utilities-1.6.5-1.el7.noarch.rpm
wget https://dev.mysql.com/get/Downloads/Connector-Python/mysql-connector-python-2.1.7-1.el7.x86_64.rpm
yum install mysql-utilities-1.6.5-1.el7.noarch.rpm mysql-connector-python-2.1.7-1.el7.x86_64.rpm

2) Копируем всю директорию mysql, убедитесь что Вы имеете достаточное количество свободного дискового пространства

mkdir /root/corrupt_mysql
cp -r /var/lib/mysql /root/corrupt_mysql/

3) Запускаем mysql

systemctl start mysql

Если БД не запускается то постепенно повышаем параметр innodb_force_recovery от 2 и выше в /etc/my.cnf

Проставляем грант

mysql -e'grant all on . to frm@localhost identified by "MysqlFRMSecret678";'

4) Указываем имя поврежденной БД и восстанавливаем схему

DATABASE=brokendbname
for file in $(ls /root/corrupt_mysql/mysql/${DATABASE}/*.frm); do mysqlfrm --server=frm:MysqlFRMSecret678@localhost:/var/lib/mysql/mysql.sock --diagnostic $file | grep -v "WARNING" >> /root/corrupt_mysql/${DATABASE}_create.sql ; done
sed -i 's##utf8#g' /root/corrupt_mysql/${DATABASE}_create.sql

5) Удаляем поврежденную базу данных

mysql -e'drop database ${DATABASE};'
rm -rf /var/lib/mysql/${DATABASE}/

6) Комментируем в конфиге innodb_force_recovery и перезапускаем mysql

systemctl restart mysql

7) Создаем бд и загружаем схему

mysql -e'create database ${DATABASE};'
mysql --force ${DATABASE} < /root/corrupt_mysql/${DATABASE}_create.sql

8) Копируем файлы таблиц из ранее скопированной директории с поврежденной БД и восстанавливаем данные каждой таблицы, проставляем права

for table in $(mysql -e 'show tables from ${DATABASE};' | grep -v "Tables_in"); do mysql ${DATABASE} -e"ALTER TABLE $table DISCARD TABLESPACE;"; done
for table in $(mysql -e 'show tables from ${DATABASE};' | grep -v "Tables_in"); do rsync -avzP /root/corrupt_mysql/mysql/${DATABASE}/$table.ibd /var/lib/mysql/${DATABASE}/ ; done
chown -R mysql:mysql /var/lib/mysql/
for table in $(mysql -e 'show tables from ${DATABASE};' | grep -v "Tables_in"); do mysql ${DATABASE} -e"ALTER TABLE $table IMPORT TABLESPACE;"; done

Перезапускаем mysql

systemctl restart mysql

Проверяем данные в таблице


0 Comments

Jimmyfrogs · 16.04.2026 at 01:11

Ищете что посмотреть, открыл для себя удобную платформу смотреть кино онлайн — называется KinoStart.
Забудьте о скучных вечерах с KinoStart. Смотрите фильмы онлайн в любое время и в любом месте. бесплатно Мы предлагаем удобный доступ к тысячам фильмов. Ваш личный кинотеатр всегда под рукой.
Загляните сюда: — http://kinostart-1.top
кино kinostart онлайн
мультфильмы онлайн смотреть
смотреть фильмы зарубежные

Хорошего кино вечера!

Jimmyfrogs · 16.04.2026 at 17:18

Ищете что посмотреть, рекомендую место, где можно наслаждаться кино — называется KinoStart.
KinoStart — ваш источник свежих киноновостей и горячих релизов. Смотрите фильмы онлайн сразу после их выхода. онлайн просмотр Мы работаем, чтобы вы были первыми в курсе. Откройте для себя мир большого кино.
Подробнее тут: — http://kinostart-1.top
смотреть фильмы онлайн
фильмы онлайн без скачивания
фильмы онлайн бесплатно hd

Хорошего кино вечера!

Jimmyfrogs · 17.04.2026 at 19:39

Привет киноманам, наткнулся на место, где можно наслаждаться кино — проект KinoStart.
KinoStart превращает обычный просмотр в настоящее событие. Смотрите фильмы онлайн с удовольствием и комфортом. смотреть тут Высокое качество и широкий выбор — наши главные преимущества. Наслаждайтесь лучшим кино.
Если интересно, то вот: — http://kinostart-1.top
фильмы онлайн
смотреть фильмы онлайн легально
фильмы онлайн бесплатно без регистрации

Отличных кино-впечатлений!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *