linux⽤shell脚本执⾏sql语句并将查询结果保存到⽂件中[解决报错问题]⼀、编写脚本
#!/bin/bash
Host=localhost
User=root
Password=rootshell脚本返回执行结果
mysql -h $Host -u$User -p$Password << EOF
use Library;
select email from User where Id = "123456" into outfile '/';
EOF
⼆、MySQL的配置
1、当你写好shell时以为运⾏⼀下脚本就能导出结果时,有可能会出现
The MySQL server is running with the – secure-file-priv option so it cannot execute this statement
这个错误因为没有配置好MySQL的导出⽂件的设置
登录进mysql,输⼊ show variables like ‘%secure%’;
我这⾥设置的路径是 /
当secure_file_priv的值为null ,表⽰限制mysqld 不允许导⼊|导出
当secure_file_priv的值为/tmp/ ,表⽰限制mysqld 的导⼊|导出只能发⽣在/tmp/⽬录下
当secure_file_priv的值没有具体值时,表⽰不对mysqld 的导⼊|导出做限制
如果时Linux的话 到/etc/mysql/myf⽂件
在[mysqld] 下添加 secure_file_priv="/"
2、然后可能出现 Can’t create/write to file xxxx (Errcode: 13 - Permission denied)错误
进⼊mysql输⼊ show variables like ‘%dir%’; 命令
在最后⼀⾏tmpdir 后边的值是 /tmp ,只要你把保存结果的⽂件放到这个⽂件夹就⾏了

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。