Интерфейс MySQL Command line client, с которым мы работали в предыдущем разделе, удобен, но не позволяет использовать функциональность утилиты mysql полностью. Кроме того, в состав MySQL входит еще ряд полезных утилит, с одной из которых, mysqldump, необходимо познакомиться даже начинающим.
4.1. Утилита командной строки mysql
Утилита mysql может работать в двух режимах: интерактивном и пакетном. Клиентская утилита mysql запускается в интерактивном режиме в DOS-окне, когда в меню выбирается пункт Command line client. До MySQL 5 в комплекте поставки сервера не было такой возможности запуска mysql, и приходилось заходить следующим способом: щелкаем по кнопке Пуск, выбираем пункт меню Выполнить и в появившемся окне Запуск программы набираем cmd. Появляется DOS-окно со строкой, содержащей имя текущего каталога, — это приглашение ввести команду.
Утилиты предназначены для работы с сервером и при запуске потребуют указать имя пользователя, под которым мы хотим подключиться к серверу, и пароль. При конфигурировании сервера MySQL мы указали пароль для суперпользователя root, теперь следует им снова пора воспользоваться. Обычно для получения доступа к серверу MySQL необходимо сообщить клиентской программе имя хоста, с которым вы хотите соединиться. Например, утилиту mysql можно запустить следующим образом:
|
|
> mysql –h host_name –u user_name –pyour_pas
Здесь ключ –h указывает на то, что дальше последует имя хоста, к которому мы хотим подключиться. По умолчанию подключение осуществляется к серверу localhost. Ключ –u означает, что за ним следует имя пользователя, осуществляющего соединение, а после ключа –p указывается пароль. Обратите внимание на то, что пробела перед паролем нет.
Формат вызова утилиты mysql в нашем случае будет таким:
> mysql –u root -p
После ключа –p не указан пароль. Мы знаем, что он нужен, но не хотим вводить его сразу, а дождемся приглашения (нажмем Enter) и введем так, чтобы информация осталась конфиденциальной (набираемый пароль отображается на экране звездочками. После ввода пароля мы должны увидеть приветствие и приглашение командной строки уже самой утилиты mysql:
Завершение сеанса работы происходит по команде mysql>quit
Существует возможность повтора ранее поданных команд: щелчками по кнопкам со стрелками вверх и вниз.
Для работы с утилитой в пакетном режиме следует написать сценарий, состоящий из последовательности команд SQL, которые предстоит исполнить для создания базы и таблиц, входящих в базу. Сценарии принято хранить в файлах с расширением «sql». При исправлении ошибок в сценарии вы запускаете его несколько раз, но уже при повторном запуске получаете сообщение о том, что нельзя создать уже существующую таблицу. Значит, следует предварять создание таблицы командой:
|
|
mysql> DROP TABLE IF EXISTS table_name;
Тогда сценарий создания и заполнения таблицы cars будет выглядеть так:
use taxi;
DROP TABLE IF EXISTS cars;
CREATE TABLE cars (
model CHAR(50) NON NULL,
madein YEAR(4) NOT NULL,
reg_number CHAR(12) NOT NULL,
color CHAR(15) NOT NULL,
id SMALLINT AUTO_INCREMENT,
PRIMARY KEY(id)
);
INSERT INTO cars VALUES
('Volga', '2003', 'A786YC78', 'white', '1'),
('Volga', '2002 ', 'A788YC78', 'yellow', ‘2’),
(Volkswagen', '2003', 'A789YC78', 'red', ’3’);
Скрипт создается в любом текстовом редакторе.После завершения написания скрипта, его можно воспроизвести в сервере MySQL следующим образом:
>mysql –u root –p < c:\temp\taxi.sql
Не забудьте указать путь к вашему скрипт-файлу, как показано в примере.
Здесь taxi.sql – это созданный скрипт-файл.
4.2. Утилита mysqldump
Утилита mysqldump позволяет получить дамп ("моментальный снимок") содержимого базы данных или совокупности баз для создания резервной копии или пересылки данных на другой SQL-сервер баз данных. Дамп будет содержать набор команд SQL для создания и заполнения таблиц. Для создания дампа подается команда
mysqldump –u root –p taxi > c:\temp\script.sql
script.sql – название файла, в котором содержатся все SQL-инструкции созданной базы данных. В данном примере файл сохранен в папке temp на диске C.
Дамп базы данных taxi: