MySQL到CSV Pythonywhere

MySQL到CSV Pythonywhere,mysql,flask,pythonanywhere,Mysql,Flask,Pythonanywhere,我想将mysql数据库导出到Pythonywhere上的CSV。我打开了一个mysql控制台,甚至尝试了select*from。它向我显示了正确的输出。但当我选择*from进入outfile'db.csv'时;它显示:使用密码“%”的用户被拒绝访问:是。根据: 选择。。。INTO OUTFILE语句旨在启用转储 将表添加到服务器主机上的文本文件。创建结果文件的步骤 在其他主机上,选择。。。通常情况下,进料口和出料口是不合适的 因为无法写入相对于 服务器主机文件系统,除非文件在远程服务器上的位置

我想将mysql数据库导出到Pythonywhere上的CSV。我打开了一个mysql控制台,甚至尝试了select*from。它向我显示了正确的输出。但当我选择*from进入outfile'db.csv'时;它显示:使用密码“%”的用户被拒绝访问:是。

根据:

选择。。。INTO OUTFILE语句旨在启用转储 将表添加到服务器主机上的文本文件。创建结果文件的步骤 在其他主机上,选择。。。通常情况下,进料口和出料口是不合适的 因为无法写入相对于 服务器主机文件系统,除非文件在远程服务器上的位置 可以使用服务器主机上的网络映射路径访问主机 文件系统

或者,如果MySQL客户端软件安装在远程服务器上 主机,您可以使用诸如mysql-e SELECT…> 文件名以在该主机上生成文件

换句话说,你连接到一台运行MySQL控制台的另一台计算机上的MySQL服务器,然后运行一个命令,试图在另一台计算机上写入一个文件,在另一台计算机上,你没有权限写入一个文件,如果你这样做了,你将无法访问它

相反,您应该启动一个Bash控制台,然后运行如下命令:

mysql -u yourusername -p -h yourdatabasehost -e "select * from yourtable" 'yourdatabasename' > db.csv
…适当地替换用户名、数据库主机、表和数据库名。DatabaseName周围的单引号很重要,因为在Pythonywhere上,数据库名称类似于yourusername$something,如果没有引号,shell会将美元符号解释为环境变量