7.1 数据迁移

1.数据导出

shell:

mysqldump ds t1 -T /tmp   [ --fields-terminated-by "," --fields-optionally-enclosed-by '"' ]

-- 字符型数据加”引起,默认以tab键隔开,且没加引号

--default-character-set="latin1"   有时候需要指定编码,默认是utf8

/tmp目录下:生成 t1.sql    , t1.txt

 

mysql客户端:

select * from t1 into outfile  '/tmp/file1.txt'  charset utf8  fields terminated by ',' optionally enclosed by '"';

 

2.数据导入

mysql客户端:

load data infile '/tmp/file1.txt' into table t1 charset utf8 fields terminated by ',' optionally enclosed by '"'  -- t1表要存在

(id, name, addr);    -- file1.txt中第1列值赋给id, 第2列值赋给name, 第3列值赋给addr

(id);                              -- file1.txt中第1列值赋给id, 其他列值不要

 

shell下:

mysqlimport -uroot -paixocm ds  /tmp/t1.txt   [-L]

--fields-terminated-by "," --fields-optionally-enclosed-by '"'

在ds数据库中要存在t1这张表

t1.txt就是往t1表导入, stu.txt就是往stu表导入          ---可以同时导多个

-c stuAddr,stuID,stuName                                             -- 指定表字段顺序

执行时不要在/tmp下,(编写脚本,后面的souce文件最好用绝对路径)

 

若是跨平台操作, 要注意设置lines terminated by

导入时, 若数据文件来自linux则指为” ”, 因为linux中文件换行符为

导入时, 若数据文件来自windows则指为” ”, 因为windows中文件换行符为





原文地址:https://www.cnblogs.com/51runsky/p/1825557696491c3948404c04f3d718f8.html