Основы программирования в Linux
myisamchk -e -r *.MYIСамые популярные опции команды приведены в табл. 8.2.
Таблица 8.2
Опция команды Описание -сИщет ошибки в таблицах -eВыполняет расширенную проверку -rИсправляет найденные ошибки Дополнительную информацию можно получить, запустив
без параметров и просмотрев подробные сообщения системы помощи. Данная утилита никак не влияет на таблицы формата InnoDB.myisamchkmysqlЭто основное и очень мощное средство командной строки СУРБД MySQL. С его помощью тем или иным способом можно выполнить любую административную или пользовательскую задачу. Запустить монитор
можно из командной строки; добавив заключительный дополнительный параметр, имя базы данных, вы сможете в мониторе обойтись без командыmysql. Далее приведен пример запуска монитора от имени пользователя rick, запроса пароля (обратите внимание на пробел послеuse <<i>база_данных</i>>) и применения базы данных-pпо умолчанию.foo$ <b>mysql -u rick -р foo</b>Для постраничного просмотра других опций командной строки монитора mysql примените команду
.mysql --help | lessЕсли вы запускаете СУРБД MySQL без указания базы данных, для выбора одной из баз данных можно использовать опцию
, приведенную в списке команд в табл. 8.3.use <<i>база_данных</i>>Монитор
можно выполнить и в неинтерактивном режиме, собрав команды во входном файле и считывая его из командной строки. В этом случае вы должны задать пароль в командной строке.mysql$<b> mysql -u rick --password=secretpassword foo < sqlcommands.sql</b>После считывания и выполнения ваших команд mysql выведет на экран строку приглашения.
Во время подключения программы-клиента mysql к серверу в дополнение к стандартному набору команд SQL92 поддерживается ряд специфических команд, перечисленных в табл. 8.3.
Таблица 8.3
Команда Краткая форма Описание илиhelp? или\h\?Отображает список команд edit\еРедактирует команду. Применяемый редактор задается переменной окружения $EDITOR илиexitquit\qЗавершает программу-клиент MySQL go\gВыполняет команду source <<i>имя_файла</i>>\.Выполняет команды SQL из заданного файла status\sОтображает информацию о состоянии сервера system <<i>команда</i>>\!Выполняет системную команду tee <имя_<i>файла</i>>\TДобавляет в конец заданного файла копию всего вывода use <<i>база_данных</i>>\uИспользует заданную базу данных Очень важная команда в этом наборе —
. Серверuseпредназначен для поддержки множества различных баз данных, обслуживаемых и управляемых одним серверным процессом. Во многих других серверах баз данных, таких как Oracle и Sybase, применяется термин "схема", а в СУРБД MySQL чаще используется термин "база данных". (В обозревателе запросов (Query Browser) MySQL, к примеру, применяется термин "схема".) Каждая база данных (в терминологии MySQL) представляет собой в основном независимый набор таблиц. Это позволяет настраивать разные базы данных для различных целей и назначать разных пользователей различным базам данных, используя для эффективного управления ими один и тот же сервер баз данных. С помощью командыmysqldможно при наличии соответствующих прав переключаться между различными базами данных.useОсобая база данных
, создаваемая автоматически при каждой установке СУРБД MySQL, применяется как основное хранилище сведений о пользователях и правах доступа.mysqlПримечаниеSQL92 — наиболее часто применяемая версия стандарта ANSI языка SQL. Ее назначение — формирование единообразия способов управления базами данных с применением SQL, обеспечивающего взаимодействие и взаимосвязь баз данных разных производителей.
mysqladminЭта утилита — основное средство быстрого администрирования базы данных MySQL. В дополнение к обычным параметрам она поддерживает основные команды, перечисленные в табл. 8.4.
Таблица 8.4
Команда Описание create <<i>база_данных</i>>Создает новую базу данных drop <<i>база_данных</i>>Удаляет базу данных password <<i>новый_пароль</i>>Изменяет пароль (как вы уже видели) pingПроверяет, работает ли сервер reloadПовторно загружает таблицы полномочий, управляющие правами доступа statusПредоставляет сведения о состоянии сервера shutdownВыключает сервер variablesОтображает переменные, управляющие работой MySQL, и их текущие значения versionВыводит номер версии сервера и время его работы