Архив рубрики «mysql»

Можно проверить таблицу с помощью CHECK TABLE, например, так: check table department;

Команда CHECK TABLE работает с таблицами MylSAM и InnoDB. В результате выполнения указанной команды (если все пойдет так, как должно быть) вы должны получить примерно следующее:

I Table | Op | Msg_type | Msg_text I
+——————————— ,——- +————– +——- .———– +——————– +

I employee.department | check | status | OK |

1 row in set (0.00 sec)


Вы можете также получить в ответ фразу Table is already up to date (таблица уже удовлетворяет всем требованиям), которая означает, что все в по­рядке.

Получение любого другого сообщения означает наличие проблем, и в этом случае вы должны попытаться исправить таблицу. Это можно сделать с помощью команды REPAIR TABLE (если это таблица MylSAM): repair table tl;

Если восстановление выполняется (или никакого восстановления на самом деле не требуется), вы должны получить примерно такой результат:

Table

1 Op

I Msg_type

1 Msg_text

test.tl

I repair

I status

I OK

1 row in set (0.03′sec)

Если же будет получено какое-то другое сообщение, а не ОК., это значит, что команда REPAIR не сработала, и необходимо использовать более действенную программу myisamchk.

Программа myisamchk невероятно полезна и может вывести вас из некото­рых весьма неприятных ситуаций, в которых вы можете оказаться. Но не забывай­те о том, что не следует использовать программу myisamchk при работающем сервере. С точки зрения безопасности сервер лучше остановить.

Проще всего вызвать myisamchk с помощью ввода команды myisamchk таблица

в командной строке.

Здесь таблица должна указывать путь к файлу . MYI, представляющему таб­лицу MylSAM.

Выполнение указанной команды сообщит вам практически о всех ошибках. Если и это, как вам покажется, не поможет решить проблему, можно попытаться запустить команду с переключателем -т. По умолчанию команда ищет ошибки в индексах, а с указанным переключателем сканируются также и строки.

С помощью myisamchk можно также исправить ошибки. Таким образом можно исправить большинство ошибок таблиц MylSAM, с которыми вы столкне­тесь. Для быстрого восстановления можно вызвать программу myisamchk с оп­циями -q -г: myisamchk -q таблица

Если это не сработает, можно сделать резервную копию данных, а затем по­пробовать выполнить полное восстановление:

myisamchk таблица

Если и это не поможет, можно попытаться применить опцию —safe-recover которая может исправить некоторые ошибки, не исправленные опцией -г:

myisamchk safe-recover таблица

Программа myisamchk имеет большое число опций, список которых можно получить, набрав myisamchk в командной строке без параметров.

Программа mysqlcheck может использоваться для проверки таблиц MylSAM и IrmoDB, а также для исправления таблиц MylSAM лри работающем сервере.

Чтобы проверить таблицы базы данных с помощью mysqlcheck, можно использовать следующую команду:

mysqlcheck имя_пользователя employee

Можно указать и список таблиц, которые необходимо проверить, но по умол­чанию программа проверит все таблицы указанной базы данных (очень удобная возможность). Если все в порядке, вы увидите нечто подобное следующему:

employee.assignment OK

employee.client OK

employee.department OK

employee.employee OK

employee.employeeSkills OK

Можно также использовать переключатель —databases, позволяющий ука­зать список баз данных для проверки, или опцию —all-databases, чтобы проверить все базы данных данного сервера.

Можно использовать программу mysqlcheck с опцией -г, чтобы исправить испорченные таблицы MylSAM, если таковые будут обнаружены.

Резервирование

Сценарий mysqldump создает файл дампа операторов SQL.

Сценарий mysqlhotcopy копирует файлы данных в указанное место.

Команда BACKUP TABLE копирует файл данных таблицы в указанное место.

Можно выполнить резервное копирование данных вручную, сначала со­хранив данные буфера таблиц на диске и заблокировав таблицы, а затем непосредственно скопировав соответствующие файлы.

Восстановление

Загрузка файлов дампа, полученных с помощью сценария mysqldump.

Загрузка файлов копий данных, полученных с помощью сценария mysqlhotcopy или резервного копирования вручную.

Восстановление с помощью команды RESTORE TABLE данных, получен­ных с помощью команды BACKUP TABLE.

Повторное выполнение операций из журнала двоичной регистрации, начи­ная с момента последнего резервирования.

Проверка и восстановление таблиц

Проверка таблиц с помощью CHECK TABLE, myisamchk, isamchk или mysqlcheck.

Восстановление таблиц с помощью REPAIR TABLE, myisamchk, isamchk или mysqlcheck.

He следует применять программу myisamchk при работающем сервере.

Фото
hosting02.jpg