Обнаружение и восстановление поврежденных таблиц базы данных Mysql

{title}

Когда у нас есть поврежденная база данных или таблица MySQL, мы можем использовать инструмент mysqlcheck, чтобы восстановить его из окна терминала, в противном случае мы можем получить доступ к серверу. Предположим, что сервер установлен с Linux.
Инструмент Mysqlcheck отвечает за проверку, исправление, оптимизацию и анализ одной или нескольких таблиц сервера mysql для выявления проблем.
Давайте посмотрим несколько примеров того, как использовать инструмент Mysqlcheck . Если таблица повреждена или имеет проблему, она отобразит сообщение об ошибке.
Чтобы использовать инструмент, мы должны расположиться в каталоге bin, где у нас установлен mysql, если мы не знаем, где он находится, мы можем найти его в терминале с помощью команды:

 Где MySQL 

Проверьте все таблицы в базе данных


Команда для этого:
 ./mysqlcheck -c база данных -u пользователь -p, опция -c указывает на проверку 
Здесь мы проверяем все таблицы phpmyadmin с помощью следующей команды:
 ./mysqlcheck -c phpmyadmin -u root -p 

{title}

Проверить таблицу в заданной базе данных


Чтобы проверить все таблицы в конкретной базе данных, мы указываем базу данных и имя таблицы.
Мы проверяем таблицу wp_post базы данных unlinkwp веб-сайта, созданного в Wordpress:
 ./mysqlcheck -c unlinkwp wp_posts -u root -p 

{title}

Проверьте все таблицы во всех базах данных


Чтобы проверить все таблицы и все базы данных, мы должны использовать параметр -all-database вместе с параметром -c, как показано ниже:
 ./mysqlcheck -c -u root -p –all-database 

{title}


Объедините опции для проверки, оптимизации и ремонта таблиц. После проверки мы можем восстановить поврежденные таблицы с помощью команды --auto-repair
Например, проверьте и восстановите все таблицы всех баз данных.
 ./mysqlcheck -u root -p --auto-repair -c -o –all-database 
Также возможно объединить другие функции, такие как оптимизация и восстановление, используя опцию -o (оптимизация) .
Если нам нужна информация о времени выполнения и использовании ЦП проверками, мы можем добавить параметр –debug-info, который будет собирать информацию во время проверки, добавить информацию об отладке, как показано ниже. Это очень полезно, если у нас много таблиц и баз данных.
 mysqlcheck --debug-info -u root -p –all-database 
Если мы хотим использовать инструмент для обслуживания и автоматической оптимизации баз данных, которые есть на сервере, мы можем запланировать задачу с помощью cron для выполнения команды.
Например, выполняйте команду проверки и оптимизации каждый день в 5 часов утра.
Для этого из терминала мы выполняем команду crontab -ey и добавляем следующую строку кода:
 0 5 * * * mysqlcheck -c -o -u user -pKey> / dev / null 2> & 1 
Мы также можем создать серию команд для ведения базы данных, которая включает в себя:
  • проверка
  • оптимизировать
  • анализировать
  • ремонт
  • Резервное копирование базы данных.
 ./mysqlcheck -u root -p --check --database database_da_chequear ./mysqlcheck -u root -p --optimize --database basededatos_a_optimizar ./mysqlcheck -u root -p --analyze --databases baededamp_a_analize ./m root -p --create-options --routines --triggers database> ./backup.sql 
Другой вариант - сделать все в одной строке кода, как показано выше:
 ./mysqlcheck -u root -p --auto-repair -c -o -a –all-database ./mysqldump -u root -p --create-options --routines --triggers database>> /backup.sql 
Важно отметить, что если мы поместим эти команды в событие cron, автоматическое выполнение может потреблять много ресурсов как от процессора, так и от оперативной памяти и привести к выходу сервера из строя.

  • 0

СТАТЬЯ ПО ТЕМЕ Samsung Galaxy A8 2018 не подключает USB