mysql 数据导入导出和一个坑

mysqldump 的导入导出比较多,这里记录一下mysql本地文件导入导出过程。

#!/bin/bash

echo "------------------------->"
echo -e "-->导出数据\n"
mysql='mysql -h127.0.0.1 -uxxx -ppwd@xxxx db'
out_file=/home/ubuntu/data_export/data.txt
echo "select * from world where msg='hello';" | $mysql >> ${out_file}

就是通过重定向mysql终端的输出到文件来实现。

myql导入上面格式的数据有load data的命令。

LOAD DATA LOCAL INFILE ‘/home/ubuntu/data_export/data.txt’ INTO TABLE world;

没有local的话,会在mysql服务器的本地路径寻找文件。

这种数据导入导出的方式有个坑需要注意,NULL 会转成字符串 NULL,然后导入的时候会转成一个有效的NULL字符串,这个需要处理下。