Основы программирования в Linux
Запустите из строки приглашения утилиту
без параметров, чтобы увидеть полный список опций. Вам потребуется применитьmysqladmin.| lessmysqlbugЕсли чуть повезет, вам никогда не представится шанс применить эту утилиту. Судя по имени, это средство создает отчет об ошибках для отправки в группу технической поддержки MySQL. Перед отправкой есть возможность отредактировать сформированный файл, включив в него дополнительную информацию, которая может оказаться полезной разработчикам.
mysqldumpЭто крайне полезная утилита, позволяющая получить частичный или полный дамп базы данных в виде единого файла с набором команд языка SQL, которые могут быть считаны обратно в MySQL или в другую СУРБД. Она принимает как параметр стандартную информацию о пользователе и пароль, а также имена базы данных и таблиц. Дополнительные опции, приведенные в табл. 8.5, существенно расширяют функциональные возможности этой утилиты.
Таблица 8.5
Команда Описание --add-drop-tableВставляет в файл вывода операторы SQL для удаления любых таблиц перед командой их создания -eПрименяет расширенный синтаксис вставки. Это нестандартный язык SQL, но если вы получаете дамп больших объемов информации, это поможет гораздо быстрее повторно загрузить дамп вашей базы в СУРБД MySQL -tПолучает дамп только данных из таблиц, а не информации, необходимой для создания таблиц -dПолучает дамп только структуры таблиц, а не реальных данных По умолчанию
посылает эти данные в стандартный вывод, поэтому вам потребуется перенаправление их в файл.mysqldumpЭта утилита очень удобна для перемещения данных или быстрого создания резервных копий, и благодаря клиент-серверной реализации MySQL ее даже можно использовать для выполнения сложного удаленного резервного копирования с помощью клиента
, установленного на другой машине. Далее для примера приведена команда подключения пользователя rick и получения дампа базы данныхmysqldump:myplaydb$ <b>mysqldump -u rick -p myplaydb > myplaydb.dump</b>Результирующий файл, у которого в нашей системе только одна таблица в базе данных, выглядит следующим образом:
-- MySQL dump 10.11---- Host: localhost Database: myplaydb-- ---------------------------------------------------- Server version 5.0.37/*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */;/*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */;/*!40101 SET @[email protected]@COLLATION_CONNECTION */;/*!40101 SET NAMES utf8 */;/*!40103 SET @[email protected]@TIME_ZONE */;/*!40103 SET TIME_ZONE='+00:00' */;/*!40014 SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;/*!40014 SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0*/;/*!40101 SET @[email protected]@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO'*/;/*!40111 SET @[email protected]@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'--LOCK TABLES 'children' WRITE;/*!40000 ALTER TABLE 'children'DISABLE KEYS */;INSERT INTO 'children' VALUES(1,'Jenny',21),(2,'Andrew',17),(3,'Gavin',8), (4,'Duncan',6),(5,'Emma',4),(6,'Alex',15),(7,'Adrian',9);/*!40000 ALTER TABLE 'children'ENABLE KEYS */;UNLOCK TABLES;/*!40103 SET [email protected]_TIME_ZONE */;/*!40101 SET [email protected]_SQL_MODE */;/*!40014 SET [email protected]_FOREIGN_KEY_CHECKS */;/*!40014 SET [email protected]_UNIQUE_CHECKS */;/*!40101 SET [email protected]_CHARACTER_SET_CLIENT */;/*!40101 SET [email protected]_CHARACTER_SET_RESULTS */;/*!40101 SET [email protected]_COLLATION_CONNECTION */;/*!40111 SET [email protected]_SQL_NOTES */;-- Dump completed on 2007-0.6-22 20:11:48mysqlimportКоманда
применяется для загрузки в таблицу большого количества данных. С помощьюmysqlimportвы можете считывать из файла ввода большие объемы текстовых данных. Этой команде требуются только имена файла и базы данных;mysqlimportзагрузит данные в базу данных, в таблицу с тем же именем, что и имя файла (за исключением расширения файла). Вы должны убедиться в том, что в текстовом файле столько же столбцов данных, сколько их в таблице, заполняемой данными, и типы данных совместимы. По умолчанию данные следует разделять знаком табуляции.mysqlimportМожно также выполнять команды SQL из текстового файла, просто запустив
с перенаправлением ввода из файла, как мы упоминали ранее.mysqlmysqlshowЭта маленькая утилита может быстро предоставить информацию о вашей установке MySQL и составляющих ее базах данных.