GNU/Linux >> Linux の 問題 >  >> Linux

MySQL データをファイルに出力できません

SELECT ... INTO OUTFILE に関する MySQL ドキュメントによると

<ブロック引用>

INTO OUTFILE または INTO DUMPFILE によって作成されたファイルは、サーバー ホスト上のすべてのユーザーが書き込み可能です。これは、MySQL サーバーが、それを実行しているアカウントのユーザー以外が所有するファイルを作成できないためです。 (この理由やその他の理由から、root として mysqld を実行しないでください。)したがって、ファイルは、その内容を操作できるように、誰でも書き込み可能である必要があります。

SELECT INTO OUTFILE を出力する必要があります /var/lib/mysql に次のように

SELECT * FROM data INTO OUTFILE 'data.csv';

もちろん、[email protected] に対する FILE パーミッションがあることを確認する必要があります

この許可を与える方法は 2 つあります

方法 #1

GRANT FILE ON *.* TO 'gs'@'localhost';

方法 #2

UPDATE mysql.user SET File_priv = 'Y' WHERE user='gs' AND host='localhost';
FLUSH PRIVILEGES;

更新 2012-05-01 07:09 EDT

自分自身に FILE 権限を付与するには、次の手順を実行します:

service mysql restart --skip-networking --skip-grant-tables
mysql <hit enter>
UPDATE mysql.user SET File_priv = 'Y' WHERE user='gs' AND host='localhost';
exit
service mysql restart

Linux
  1. Linux/Unixでの入力/出力リダイレクト

  2. SHOW PROCESSLISTの出力をMySQLのファイルに保存するにはどうすればよいですか?

  3. プログラムの出力をZipファイルにリダイレクトする方法は??

  1. Loggedfs構成ファイルの構文?

  2. リダイレクトとパイプ出力?

  3. 変更中にファイルの内容を出力しますか?

  1. Linuxでコマンド出力をファイルに保存する方法

  2. Systemd:生成されたユニットファイルを無効にできませんか?

  3. ファイル内の引用間のデータを置き換えますか?