У меня есть требование, в котором я должен взять дамп mysql всего за один столбец таблицы. Поскольку в этой таблице слишком много столбцов, я не хочу брать дамп полной таблицы. Я должен получить этот дамп таблицы с одного сервера на другой. Любая идея, как я могу это сделать?Как взять дамп mysql из выбранных столбцов таблицы
6
A
ответ
0
Выберите столбец в файл?
Select col from table into outfile 'fileame'
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`;
Мне нужно получить этот дамп с одного сервера на другой, поэтому этот файл не будет доступен там. – user1085195
Вы копируете файл так же, как и с mysqldump. – Barmar
Что вы собираетесь с файлом на удаленном сервере? – SteveP