2013-03-07 4 views
6

У меня есть требование, в котором я должен взять дамп mysql всего за один столбец таблицы. Поскольку в этой таблице слишком много столбцов, я не хочу брать дамп полной таблицы. Я должен получить этот дамп таблицы с одного сервера на другой. Любая идея, как я могу это сделать?Как взять дамп mysql из выбранных столбцов таблицы

ответ

0

Выберите столбец в файл?

Select col from table into outfile 'fileame' 
+0

Мне нужно получить этот дамп с одного сервера на другой, поэтому этот файл не будет доступен там. – user1085195

+0

Вы копируете файл так же, как и с mysqldump. – Barmar

+0

Что вы собираетесь с файлом на удаленном сервере? – SteveP

1

Если вы хотите взять MySQL дамп, включая схемы, это можно сделать, выполнив следующие действия:

создать временную таблицу:

create table temp_table like name_of_the_original_table; 

тиражирования данных в temp_table:

insert into temp_table select * from name_of_the_original_table; 

сбрасывают ненужные поля:

alter table temp_table drop column somecolumn; 

после этого, вы могли бы взять туздЫшпр, запустив:

mysqldump -u <username> -p <password> databasename temp_table 

Если намерение состоит в том, чтобы взять дамп данных (без схемы), вы можете запустить следующую команду:

select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n'; 
1
mysql> CREATE TABLE `tempTable` AS SELECT `columnYouWant` from `table`; 
$> mysqldump yourDB tempTable > temp.sql 

копия temp.sql целевой сервер, а затем на целевом сервере

$> mysql yourDB < temp.sql 
mysql> RENAME TABLE `table` TO `tableBackup`, `tempTable` TO `table`;