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字符串,这个需要处理下。