Php Mysql连接在SELECT*到OUTFILE STANTATION之外工作

Php Mysql连接在SELECT*到OUTFILE STANTATION之外工作,php,mysql,laravel,Php,Mysql,Laravel,我的网站运行良好,但当我执行mysql备份功能时,它会抛出以下错误: SQLSTATE[28000]:无效的授权规范:1045使用密码拒绝用户“用户名”@“本地主机”的访问:是SQL:SELECT*INTO OUTFILE'/archive/db-backup-date-09-2015-time-10-30-04/accounts.csv'FROM accounts 我试过这句话: GRANT FILE ON \*.\* TO 'username'@'localhost' 但这又带来了另一个错

我的网站运行良好,但当我执行mysql备份功能时,它会抛出以下错误:

SQLSTATE[28000]:无效的授权规范:1045使用密码拒绝用户“用户名”@“本地主机”的访问:是SQL:SELECT*INTO OUTFILE'/archive/db-backup-date-09-2015-time-10-30-04/accounts.csv'FROM accounts

我试过这句话:

GRANT FILE ON \*.\* TO 'username'@'localhost'
但这又带来了另一个错误

1045-使用密码“是”拒绝用户“myHostingUserName”@“localhost”的访问


请注意,在此错误中,拒绝访问的用户是我的主机用户名hostgator,但我没有此名称的MySql用户

实际上MySql没有外部权限,因此您需要在MySql中导出文件,您可以按照以下使用-

SELECT * INTO OUTFILE '/tmp/accounts.csv' FROM accounts;
假设/tmp是mysql创建临时文件的目录

还因为您的csv创建命令适合您,因为您没有管理其中的字段分隔等问题


关于第二个错误,您没有获得大权限的权限。

谢谢您的回答,但在我当地的环境中,脚本运行良好,我如何才能找到放置.csv文件的目录?通过显示变量(如“tmpdir”)获取临时目录,您可以使用此路径进行保存,但这是临时路径,因此您必须从此处移动,否则文件可能会从此处丢失。另一方面,您可以保存在数据目录,这也是一个不好的建议。您可以创建一个备份目录,并将该目录的权限授予mysql,然后将您的csv保存在此处。我使用了“tempdir”,但它没有显示完整路径,我找不到该目录,但如何授予mysql目录的权限?是否有命令?是否通过显示变量(如“tmpdir”)进行检查是的,我显示了变量(如“tmpdir”),但它没有显示完整路径,因此我无法找到目录