2021 Nov. 07.
2021 May 17.
2018 Oct. 21.
mysql> grant file on *.* to 'USER'@'localhost' ;
(カンマ区切り、二重引用符囲みで/var/lib/mysql-files/ディレクトリに出力)
--secure-file-priv が設定された状態であれば
SELECT @@secure_file_priv; を実行し
出力表示されたディレクトリにCSVファイルを保存するようにする。
mysql> select * from TABLE WHERE CONDITION INTO OUTFILE "/var/lib/mysql-files/TEXTFILENAME" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY "\n";
(列名を先頭行につけて出力)
mysql> select 'col1','col2', ... union select * from TABLE WHERE CONDITION INTO OUTFILE "/var/lib/mysql-files/TEXTFILENAME" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY "\n";
書き込み先はmysqlユーザが書き込み権限のあるディレクトリでないと
いけない。
/tmpディレクトリが無難。
書込先ファイルの上書きはできない。ので、同名ファイルは削除しておく。
Output csv-file for standard-output.(二重引用符囲み無し。カンマ区切り)
$ mysql -u USER --password='PASSWORD' -e "SELECT * from TABLE" DATABASE | sed -e 's/\t/,/g' > outfile.csv
SQL文の入力待ちになったところで
select * from MYTABLE order by path asc ;
\q
と入力するとファイルが作成される。
csvファイル書き出し
ユーザにfile権限を付与する
$ mysql -u root -p DATABASEmysql> grant file on *.* to 'USER'@'localhost' ;
当該ユーザー でmysqlに接続してファイル出力する
$ mysql -u USER -p DATABASE(カンマ区切り、二重引用符囲みで/var/lib/mysql-files/ディレクトリに出力)
--secure-file-priv が設定された状態であれば
SELECT @@secure_file_priv; を実行し
出力表示されたディレクトリにCSVファイルを保存するようにする。
mysql> select * from TABLE WHERE CONDITION INTO OUTFILE "/var/lib/mysql-files/TEXTFILENAME" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY "\n";
(列名を先頭行につけて出力)
mysql> select 'col1','col2', ... union select * from TABLE WHERE CONDITION INTO OUTFILE "/var/lib/mysql-files/TEXTFILENAME" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY "\n";
書き込み先はmysqlユーザが書き込み権限のあるディレクトリでないと
いけない。
/tmpディレクトリが無難。
書込先ファイルの上書きはできない。ので、同名ファイルは削除しておく。
Output csv-file for standard-output.(二重引用符囲み無し。カンマ区切り)
$ mysql -u USER --password='PASSWORD' -e "SELECT * from TABLE" DATABASE | sed -e 's/\t/,/g' > outfile.csv
sql結果のファイル出力
$ mysql --user MYUSER --password='MYPASSWORD' MYDB > OUTFILESQL文の入力待ちになったところで
select * from MYTABLE order by path asc ;
\q
と入力するとファイルが作成される。