Шрифт:
Команда | Описание |
---|---|
– -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'
– -
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 TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
– - Dump completed on 2007-0.6-22 20:11:48
mysqlimport
Команда
mysqlimport
применяется для загрузки в таблицу большого количества данных. С помощью mysqlimport
вы можете считывать из файла ввода большие объемы текстовых данных. Этой команде требуются только имена файла и базы данных; mysqlimport
загрузит данные в базу данных, в таблицу с тем же именем, что и имя файла (за исключением расширения файла). Вы должны убедиться в том, что в текстовом файле столько же столбцов данных, сколько их в таблице, заполняемой данными, и типы данных совместимы. По умолчанию данные следует разделять знаком табуляции.