我有一个要求,我必须采取只有一列表的mysql转储.由于该表有太多列,我不想转储整个表.我必须将表的转储从一个服务器转移到另一个服务器.知道我怎么能这样做吗?
ric*_*ydj 13
如果您想采用包含架构的mysql转储,可以按照以下步骤完成:
创建临时表:
create table temp_table like name_of_the_original_table;
Run Code Online (Sandbox Code Playgroud)
将数据复制到temp_table:
insert into temp_table select * from name_of_the_original_table;
Run Code Online (Sandbox Code Playgroud)
删除不必要的字段
alter table temp_table drop column somecolumn;
Run Code Online (Sandbox Code Playgroud)
发布这个,您可以运行以下命令获取mysqldump:
mysqldump -u <username> -p <password> databasename temp_table
Run Code Online (Sandbox Code Playgroud)
如果打算采用数据转储(没有架构),则可以运行以下命令:
select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
Run Code Online (Sandbox Code Playgroud)
mysql> CREATE TABLE `tempTable` AS SELECT `columnYouWant` from `table`;
$> mysqldump yourDB tempTable > temp.sql
Run Code Online (Sandbox Code Playgroud)
将temp.sql复制到目标服务器,然后在目标服务器上
$> mysql yourDB < temp.sql
mysql> RENAME TABLE `table` TO `tableBackup`, `tempTable` TO `table`;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22401 次 |
| 最近记录: |