在mysql命令行下将数据导出为Excel文件

导出使用的命令

在mysql命令行中使用以下命令可直接成功导出:
select * from usertable into outfile '/xxxx/1.xls';
""
# 其中 /xxxx/ 是在mysql命令行下通过:
show variables like 'datadir';
# 获取到的 datadir 路径
""
  1. 执行select * from usertable into outfile '/xxxx/1.xls'命令后会报错:
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

该报错的解决方法:
①在 /usr/local/ect/my.cnf 配置文件中增加一行 secure-file-priv=""
②把 /usr/local/ect/my.cnf 复制到 /etc 目录下: sudo cp /usr/local/etc/my.cnf /private/etc/
③重启mysql:sudo /usr/local/mysql/support-files/mysql.server restart

这时再执行最开始的导出命令 select * from usertable into outfile '/xxxx/1.xls'; 即可导出成功

  1. 导出成功后使用 mv
sudo mv /xxxx/1.xls /Users/fangbo/Downloads/ 

这时直接 mv 会给出权限的报错。
解决方法: sqlsudo chmod -R a+rwx datadir路径

  1. 权限问题解决后,即可使用 mv 移动到自己所需的文件夹下
sudo mv /xxxx/1.xls /Users/fangbo/Downloads/ 
  1. 移动到目标文件夹下,打开文件时会给出提示:
    在mysql命令行下将数据导出为Excel文件_第1张图片
    这种情况直接在命令行执行 sudo chmod -R 777 目标文件夹 就可以了

现在终于大功告成了!

你可能感兴趣的:(MySQL)