SQL92 — наиболее часто применяемая версия стандарта ANSI языка SQL. Ее назначение — формирование единообразия способов управления базами данных с применением SQL, обеспечивающего взаимодействие и взаимосвязь баз данных разных производителей.
Эта утилита — основное средство быстрого администрирования базы данных MySQL. В дополнение к обычным параметрам она поддерживает основные команды, перечисленные в табл. 8.4.
Таблица 8.4
| Команда | Описание |
|---|---|
create <база_данных>
|
Создает новую базу данных |
drop <база_данных>
|
Удаляет базу данных |
password <новый_пароль>
|
Изменяет пароль (как вы уже видели) |
ping
|
Проверяет, работает ли сервер |
reload
|
Повторно загружает таблицы полномочий, управляющие правами доступа |
status
|
Предоставляет сведения о состоянии сервера |
shutdown
|
Выключает сервер |
variables
|
Отображает переменные, управляющие работой MySQL, и их текущие значения |
version
|
Выводит номер версии сервера и время его работы |
Запустите из строки приглашения утилиту mysqladmin без параметров, чтобы увидеть полный список опций. Вам потребуется применить | less.
Если чуть повезет, вам никогда не представится шанс применить эту утилиту. Судя по имени, это средство создает отчет об ошибках для отправки в группу технической поддержки MySQL. Перед отправкой есть возможность отредактировать сформированный файл, включив в него дополнительную информацию, которая может оказаться полезной разработчикам.
Это крайне полезная утилита, позволяющая получить частичный или полный дамп базы данных в виде единого файла с набором команд языка SQL, которые могут быть считаны обратно в MySQL или в другую СУРБД. Она принимает как параметр стандартную информацию о пользователе и пароль, а также имена базы данных и таблиц. Дополнительные опции, приведенные в табл. 8.5, существенно расширяют функциональные возможности этой утилиты.
Таблица 8.5
| Команда | Описание |
|---|---|
--add-drop-table
|
Вставляет в файл вывода операторы SQL для удаления любых таблиц перед командой их создания |
-e
|
Применяет расширенный синтаксис вставки. Это нестандартный язык SQL, но если вы получаете дамп больших объемов информации, это поможет гораздо быстрее повторно загрузить дамп вашей базы в СУРБД MySQL |
-t
|
Получает дамп только данных из таблиц, а не информации, необходимой для создания таблиц |
-d
|
Получает дамп только структуры таблиц, а не реальных данных |
По умолчанию mysqldump посылает эти данные в стандартный вывод, поэтому вам потребуется перенаправление их в файл.
Эта утилита очень удобна для перемещения данных или быстрого создания резервных копий, и благодаря клиент-серверной реализации MySQL ее даже можно использовать для выполнения сложного удаленного резервного копирования с помощью клиента mysqldump, установленного на другой машине. Далее для примера приведена команда подключения пользователя rick и получения дампа базы данных myplaydb:
$ mysqldump -u rick -p myplaydb > myplaydb.dump
Результирующий файл, у которого в нашей системе только одна таблица в базе данных, выглядит следующим образом:
-- MySQL dump 10.11
--
-- Host: localhost Database: myplaydb
-- --------------------------------------------------
-- Server version 5.0.37
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0*/;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO'*/;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table 'children'
--
DROP TABLE IF EXISTS 'children';
CREATE TABLE 'children' (
'childno' int(11) NOT NULL auto_increment,
'fname' varchar(30) default NULL,
'age' int(11) default NULL,
PRIMARY KEY ('childno')
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table 'children'
--