Выбрать главу
Примечание

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

mysqladmin

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

Таблица 8.4

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

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

mysqlbug

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

mysqldump

Это крайне полезная утилита, позволяющая получить частичный или полный дамп базы данных в виде единого файла с набором команд языка 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'

--