И снова не советуем вам помещать пароль в командную строку, поскольку его можно увидеть с помощью команды ps.
Утилита myisamchk разработана для проверки и корректировки любых таблиц данных, применяющих стандартный табличный формат MYISAM, исходно поддерживаемый СУРБД MySQL. Обычно утилиту myisamchk следует запускать от имени пользователя mysql, созданного во время установки, из каталога, в котором размещаются таблицы. Для проверки базы данных выполните команду su mysql, измените название каталога в соответствии с именем базы данных и запустите утилиту myisamchk с одной или несколькими опциями, предложенными в табл. 8.2. Например,
myisamchk -e -r *.MYI
Самые популярные опции команды приведены в табл. 8.2.
Таблица 8.2
| Опция команды | Описание |
|---|---|
-с
|
Ищет ошибки в таблицах |
-e
|
Выполняет расширенную проверку |
-r
|
Исправляет найденные ошибки |
Дополнительную информацию можно получить, запустив myisamchk без параметров и просмотрев подробные сообщения системы помощи. Данная утилита никак не влияет на таблицы формата InnoDB.
Это основное и очень мощное средство командной строки СУРБД MySQL. С его помощью тем или иным способом можно выполнить любую административную или пользовательскую задачу. Запустить монитор mysql можно из командной строки; добавив заключительный дополнительный параметр, имя базы данных, вы сможете в мониторе обойтись без команды use <база_данных>. Далее приведен пример запуска монитора от имени пользователя rick, запроса пароля (обратите внимание на пробел после -p) и применения базы данных foo по умолчанию.
$ mysql -u rick -р foo
Для постраничного просмотра других опций командной строки монитора mysql примените команду mysql --help | less.
Если вы запускаете СУРБД MySQL без указания базы данных, для выбора одной из баз данных можно использовать опцию use <база_данных>, приведенную в списке команд в табл. 8.3.
Монитор mysql можно выполнить и в неинтерактивном режиме, собрав команды во входном файле и считывая его из командной строки. В этом случае вы должны задать пароль в командной строке.
$ mysql -u rick --password=secretpassword foo < sqlcommands.sql
После считывания и выполнения ваших команд mysql выведет на экран строку приглашения.
Во время подключения программы-клиента mysql к серверу в дополнение к стандартному набору команд SQL92 поддерживается ряд специфических команд, перечисленных в табл. 8.3.
Таблица 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, применяется термин "схема", а в СУРБД MySQL чаще используется термин "база данных". (В обозревателе запросов (Query Browser) MySQL, к примеру, применяется термин "схема".) Каждая база данных (в терминологии MySQL) представляет собой в основном независимый набор таблиц. Это позволяет настраивать разные базы данных для различных целей и назначать разных пользователей различным базам данных, используя для эффективного управления ими один и тот же сервер баз данных. С помощью команды use можно при наличии соответствующих прав переключаться между различными базами данных.
Особая база данных mysql, создаваемая автоматически при каждой установке СУРБД MySQL, применяется как основное хранилище сведений о пользователях и правах доступа.