环境:mysql
1 基本步骤
进入mysql shell
mysql -u USERNAME --password=PASSWORD --database=DATABASE
然后输入导出查询结果命令
select * from table1 into outfile '/data/test1.txt'
2 问题与修复
1.1 ERROR 1045
报错 ERROR 1045 (28000): Access denied for user ‘USERNAME ‘@’localhost’ (using password: YES)
意思是这个账户权限不够。
然后换用 root 账户进行以上操作。
执行以上导出查询结果命令。
1.2 Errcode: 13
报错
ERROR 1 (HY000): Can’t create/write to file ‘/data/test1.txt’ (Errcode: 13)
原因是 对路径 /data 没有写的权限。
查看当前路径, mysql shell
\! pwd
显示
/data
验证当前账户是否对 /data 路径具有写的权限。 mysql shell
\T /data/test1.txt
如果出现:
mysql: Can’t create/write to file ‘/data’ (Errcode: 21)
Error logging to file ‘/data’
表示不具有写权限。
如果只出现
Logging to file ‘/data/test1.txt’
表示具有写的权限。
如果对该路径不具有写的权限。可以回到 linux shell, 对该路径授权:
chmod 757 /data
然后再执行导出查询结果命令即可。
3其他方式
还有可以直接在linux shell 进行直接导出查询结果。
mysql -u USERNAME --password=PASSWORD --database=DATABASE --execute='select * from table1 ' -X > /data/test2.txt
说明
以上导出的查询结果test1.txt 与 test2.txt, 数据形式是不一样的。
test1.txt 中将每列数据每行展示。
test2.txt 以xml 形式展示。