首页  >  文章  >  数据库  >  为什么 MySQL 不提供“SELECT * INTO OUTFILE LOCAL”等效项?

为什么 MySQL 不提供“SELECT * INTO OUTFILE LOCAL”等效项?

Susan Sarandon
Susan Sarandon原创
2024-10-26 07:38:30310浏览

 Why Doesn't MySQL Offer a

MySQL:探索 SELECT * INTO OUTFILE LOCAL 难题

迁移数据库可能会带来意想不到的挑战,因为某些功能可能不再按预期运行。对于 MySQL,曾经用于将数据导出到文本文件的 SELECT * INTO OUTFILE 语句由于安全原因不再起作用。

但是,可以将 LOAD DATA INFILE 语句修改为 LOAD DATA LOCAL INFILE,允许从本地文件导入数据。这就引出了一个问题:为什么没有等效的 SELECT INTO OUTFILE LOCAL?

根据 MySQL 手册,SELECT * INTO OUTFILE 主要用于在服务器上快速生成文本文件。但是,出于安全考虑,不允许在远程客户端上创建文件。

作为替代方案,可以使用以下命令在客户端主机上生成文件:

mysql -h my.db.com -u username -p password db_name -e'SELECT foo FROM bar' > /tmp/myfile.txt

关于 MariaDB ,它似乎没有提供此问题的直接解决方案。但是,它为数据传输提供了额外的安全功能,例如限制特定用户或 IP 地址的文件访问的能力。

以上是为什么 MySQL 不提供“SELECT * INTO OUTFILE LOCAL”等效项?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn