Чтение онлайн

ЖАНРЫ

Основы программирования в Linux
Шрифт:

Администрирование MySQL

Группа программ-утилит, включенных в дистрибутив MySQL, облегчает процесс администрирования базы данных. Самая популярная из них — программа mysqladmin. В следующем разделе мы опишем эту и другие утилиты.

Команды

Все команды MySQL, за исключением

mysqlshow
, принимают как минимум три стандартных параметра, описанных в табл. 8.1.

Таблица 8.1

Опция команды Параметр Описание
– u
username
По умолчанию утилиты mysql будут пытаться использовать то же username MySQL, что и текущее имя пользователя Linux. Применяйте параметр
– u
для задания другого имени пользователя
р
[password]
Если параметр
– р
задан, а пароль пропущен, он запрашивается. Если параметра
– p
нет в командной строке, команды MySQL полагают, что пароль не нужен
– h
host
Применяется для подключения к серверу на другой машине (для локальных серверов всегда можно опускать)
Примечание

И снова не советуем вам помещать пароль в командную строку, поскольку его можно увидеть с помощью команды

ps
.

myisamchk

Утилита

myisamchk
разработана для проверки и корректировки любых таблиц данных, применяющих стандартный табличный формат MYISAM, исходно поддерживаемый СУРБД MySQL. Обычно утилиту
myisamchk
следует запускать от имени пользователя mysql, созданного во время установки, из каталога, в котором размещаются таблицы. Для проверки базы данных выполните команду
su mysql
, измените название каталога в соответствии с именем базы данных и запустите утилиту
myisamchk
с одной или несколькими опциями, предложенными в табл. 8.2. Например,

myisamchk -e -r *.MYI

Самые популярные опции команды приведены в табл. 8.2.

Таблица 8.2

Опция команды Описание
– с
Ищет ошибки в таблицах
– e
Выполняет расширенную проверку
– r
Исправляет найденные ошибки

Дополнительную информацию можно получить, запустив

myisamchk
без параметров и просмотрев подробные сообщения системы помощи. Данная утилита никак не влияет на таблицы формата InnoDB.

mysql

Это основное и очень мощное средство командной строки СУРБД 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, применяется как основное хранилище сведений о пользователях и правах доступа.

Примечание

SQL92 — наиболее часто применяемая версия стандарта ANSI языка SQL. Ее назначение — формирование единообразия способов управления базами данных с применением SQL, обеспечивающего взаимодействие и взаимосвязь баз данных разных производителей.

mysqladmin

Эта утилита — основное средство быстрого администрирования базы данных MySQL. В дополнение к обычным параметрам она поддерживает основные команды, перечисленные в табл. 8.4.

Таблица 8.4

Команда Описание
create <база_данных>
Создает новую базу данных
drop <база_данных>
Удаляет базу данных
password <новый_пароль>
Изменяет пароль (как вы уже видели)
ping
Проверяет, работает ли сервер
reload
Повторно загружает таблицы полномочий, управляющие правами доступа
status
Предоставляет сведения о состоянии сервера
shutdown
Выключает сервер
variables
Отображает переменные, управляющие работой MySQL, и их текущие значения
version
Выводит номер версии сервера и время его работы

Запустите из строки приглашения утилиту

mysqladmin
без параметров, чтобы увидеть полный список опций. Вам потребуется применить
| less
.

mysqlbug

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

Поделиться с друзьями: