Утилита myisamchk
разработана для проверки и корректировки любых таблиц данных, применяющих стандартный табличный формат MYISAM, исходно поддерживаемый СУРБД MySQL. Обычно утилиту myisamchk
следует запускать от имени пользователя mysql, созданного во время установки, из каталога, в котором размещаются таблицы. Для проверки базы данных выполните команду su mysql
, измените название каталога в соответствии с именем базы данных и запустите утилиту myisamchk
с одной или несколькими опциями, предложенными в табл. 8.2. Например,
myisamchk -e -r *.MYI
Самые популярные опции команды приведены в табл. 8.2.
Опция команды | Описание |
---|---|
-с | Ищет ошибки в таблицах |
-e | Выполняет расширенную проверку |
-r | Исправляет найденные ошибки |
Дополнительную информацию можно получить, запустив myisamchk
без параметров и просмотрев подробные сообщения системы помощи. Данная утилита никак не влияет на таблицы формата InnoDB.
Это основное и очень мощное средство командной строки СУРБД MySQL. С его помощью тем или иным способом можно выполнить любую административную или пользовательскую задачу. Запустить монитор mysql
можно из командной строки; добавив заключительный дополнительный параметр, имя базы данных, вы сможете в мониторе обойтись без команды use <
. Далее приведен пример запуска монитора от имени пользователя rick, запроса пароля (обратите внимание на пробел после -p
) и применения базы данных foo
по умолчанию.
$ mysql -u rick -р foo
Для постраничного просмотра других опций командной строки монитора mysql примените команду mysql --help | less
.
Если вы запускаете СУРБД MySQL без указания базы данных, для выбора одной из баз данных можно использовать опцию use <
Монитор mysql
можно выполнить и в неинтерактивном режиме, собрав команды во входном файле и считывая его из командной строки. В этом случае вы должны задать пароль в командной строке.
$ mysql -u rick --password=secretpassword foo < sqlcommands.sql
После считывания и выполнения ваших команд mysql выведет на экран строку приглашения.
Во время подключения программы-клиента mysql к серверу в дополнение к стандартному набору команд SQL92 поддерживается ряд специфических команд, перечисленных в табл. 8.3.
Команда | Краткая форма | Описание |
---|---|---|
help или ? | \h или \? | Отображает список команд |
edit | \е | Редактирует команду. Применяемый редактор задается переменной окружения $EDITOR |
exit или quit | \q | Завершает программу-клиент MySQL |
go | \g | Выполняет команду |
source < | \. | Выполняет команды SQL из заданного файла |
status | \s | Отображает информацию о состоянии сервера |
system < | \! | Выполняет системную команду |
tee <имя_ | \T | Добавляет в конец заданного файла копию всего вывода |
use < | \u | Использует заданную базу данных |
Очень важная команда в этом наборе — use
. Сервер mysqld
предназначен для поддержки множества различных баз данных, обслуживаемых и управляемых одним серверным процессом. Во многих других серверах баз данных, таких как Oracle и Sybase, применяется терминuse
можно при наличии соответствующих прав переключаться между различными базами данных.
Особая база данных mysql
, создаваемая автоматически при каждой установке СУРБД MySQL, применяется как основное хранилище сведений о пользователях и правах доступа.