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

nginx 配置文件服务器

业务需求需要使用nginx搭建一个小的文件服务器,使用网络上找来的配置方法如下:

location /file_download {
        root/home/oicq/dev_adtools;
        autoindex off;
        default_type  'application/octet-stream';
        add_header Content-disposition "attachment";
}

这个方法没有成功,更改一处后成功了,就是根目录配置中的root改为alias。修改后的配置如下:

location /file_download {
        alias /home/oicq/dev_adtools;
        autoindex off;
        default_type  'application/octet-stream';
        add_header Content-disposition "attachment";
}

原因不明。