今天用到将数据库中的 tables 导出存入到 Excel 表格中,索性不忙就给大家把这一块的东西分享下.
第一种是个人比较喜欢使用的
mysql -uusername -ppassword -e “(SQL语句 一定要加“”)” > 存储文件(地址 + 文件名 + 文件类型(.txt/.xls等))
例:mysql -u root -p athena -e
“select mobile from user_info where mobile REGEXP '^[1](3[0-9]|47|5[0-9]|8[0-9])[0-9]{8}$'” > mobile.xls
第二种就是先进入数据库然后进行操作--这种比较麻烦
1 连接数据库
mysql -uuserName -hhost -ppassword datebase
mysql -u用户名 -h地址 -p密码 数据库名
2 连接数据库后
输入 sql 语句
select 字段1,字段2 into outfile “/导出后文件存储地址/test.xls” //lines terminated by"/r/n" from tableName ;
例:select user_name into outfile "/var/lib/mysql-files/test.xls" from user;
select user_name into outfile "/var/lib/mysql-files/test.txt" from user;
注://lines terminated by"/r/n” 设置在每一行数据后面换行,在到成 .txt和 Excel 文件可不加.
在此处你导出数据到你自定义的文件目录的时候可能会报错
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
出现这个错的主要原因就是:在安装MySQL的时候限制了导入与导出的目录权限,只能在规定的目录下才能导入
我们需要通过下面命令查看 secure-file-priv 当前的值是什么
show variables like '%secure%’;


出现上面的错我们有两个方法去解决..
方法一
我们将输出文件的位置改成设置的固定目录输出就可以.(我推荐大家使用这种,这样不会对你的服务器造成安全隐患.)
方法二
就是更改/etc/my.cnf文件,将更改导入导出权限.
# vim /etc/my.cnf
//在[mysqld]下,增加下面两句
secure_auth=OFF
secure_file_priv=
//保存,退出

重启 mysql 服务 : service mysql restart
然后我们测试一下
select user_name into outfile "/export/data/sqlfile/1.txt" from user;
完蛋了 居然报错
ERROR 1 (HY000): Can't create/write to file '/export/data/sqlfile/1.txt' (Errcode: 13 - Permission denied)
从错误的字面上来看,是我们没有权限进行操作.

那么好,我们就去改变下这个目录的权限
chown mysql:mysql /export/data/sqlfile/

这里注意一下:我这里更改的是我将导出的文件目录,如果你想设置到任何地方就设置根目录
我们再次执行:
select user_name into outfile "/export/data/sqlfile/1.txt" from user;
bingo ,导出成功了.

其实你还是可能出现上面的错,你可以参考下这篇文章来解决报错的问题 : linux系统下,MySQL导入导出数据 ErrCode(13)(permission denied)解决方案
主要就是设置
setsebool -P mysqld_disable_trans=1
//重启下 mysql 服务
service mysql restart

如果以上还是不能导出,私聊我.我帮你解决.
参考文章 :
linux系统下,MySQL导入导出数据 ErrCode(13)(permission denied)解决方案
MYSQL导入数据出现The MySQL server is running with the --secure-file-priv
mysql命令行的导入导出sql,txt,excel(都在linux或windows命令行操作)
linux系统下,MySQL导入导出数据 ErrCode(13)(permission denied)解决方案
网友评论