Win 2012 R2サーバーで非常に大きな選択(70ミリオンを超える行をcsvファイルに保存)を保存しようとしています
Rootとしてクエリを実行しましたが、権限にまだ問題があると思います
select *
INTO OUTFILE 'D:\my_folder\my_file.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
from my_table
where
...
エラー
エラーコード:1290。MySQLサーバーは--secure-file-privオプションで実行されているため、このステートメントを実行できません
何か助けてくれてありがとう!
Win2012で、my.iniファイルを見つけました。
ファイルには、secure_file_priv-からのダウンロードまたはアップロードが可能なフォルダーの定義があります。
したがって、次のようにクエリを変更します。
SELECT *
INTO OUTFILE 'D:\<folder_defined_as_secure_file_priv>\my_file.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM my_table
WHERE
...
Windows 10でMySQL Server 8.0を使用しています。次のコマンドを使用してcsvファイルからデータをロードしようとしました。
LOAD DATA INFILE 'C:\ProgramData\MySQL\MySQL Server 8.0\Uploads\World_cup_dataset.csv'
INTO TABLE trial
FIELDS TERMINATED BY ',';
上記のコマンドを実行すると、
「エラー1290(HY000):MySQLサーバーは--secure-file-privオプションで実行されているため、このステートメントを実行できません」
私は問題を解決するために多くの方法を試しました。最後に、ファイルパスの「\
」文字を「/
」文字に変更しました。
つまり、新しいファイルパスがC:/ProgramData/MySQL/MySQL Server 8.0/Uploads/World_cup_dataset.csv
になり、問題が修正されました。 MySQLサーバーフォルダーにあるmy.iniファイルを見ると、secure-file-priv
のパスは "C:/ProgramData/MySQL/MySQL Server 8.0/Uploads
"です。したがって、このソリューションは理にかなっています。
SHOW VARIABLES LIKE "secure_file_priv";
secure_file_priv C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\
SELECT * INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/algo.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM sams.trafico;
私もこれらの問題を抱えており、インターネットで見つけたさまざまな答えを使用して、いくつかの実験を行いました。これは、Windows 10 63ビットPC上のローカルWAMP(3.1.7)サーバーで動作するようになりました。これをPHP内で行い、root管理者としてログオンしました。
まず、単に--secure-file-priv
を入力することによる問題secure-file-priv = ""
下 [mysqld]
見出しmy.ini
。
次に、SQLクエリを作成して実行しました。
$sql = "SELECT * FROM inloggning INTO OUTFILE 'C:/Temp/sample.csv' CHARACTER SET 'Latin1' FIELDS ENCLOSED BY '\"' TERMINATED BY '\;' ESCAPED BY '\"' LINES TERMINATED BY '\r\n'";
$result = mysqli_query($databas_link, $sql)
or die('File output failed!(sql) - MySQL error: ('.mysqli_errno($databas_link).') '.mysqli_error($databas_link).' ');
これは完璧に機能します。現在、同じ変更と構文を使用して、ファイルをWebホテルサーバーに保存する方法に取り組んでいます。