はじめに
最近、オンラインデータを変更する場合、変更されたデータをバックアップする必要がありますが、オンライン顧客のサーバーに直接接続することはできず、要塞マシンを介してクライアントに直接接続することはできません。 mysql に接続されているため、すべての操作は SQL ステートメントを経由する必要があります。エクスポートされた SQL を見てみましょう:
mysql> select count(1) from table into outfile '/tmp/test.xls';
クエリの結果の直後に outfile 'path' を追加するだけですが、最初は後で追加したパスです。これを実行すると、次のエラーがスローされます:
The MySQL server is running with the --secure-file-priv option so it cannot execute this statementこれは、mysql によって設定された権限が原因です:
show variables like '%secure%';エクスポートされるデータは、エクスポートする前にこの値の指定されたパスである必要があります。デフォルト値は NULL である可能性があり、これはエクスポートが禁止されるため、/etc/mysql で設定する必要があります。 /mysql.conf.d/mysqld.cnf file これを最後に設定し、最後に secure_file_priv="/" を追加して、データを任意のディレクトリにエクスポートします secure_file_priv 1. インポートを許可しないように mysqld を制限します。
secure_file_prive=null
2. mysqld のインポートを制限する | エクスポートは /tmp/ ディレクトリでのみ実行できます
secure_file_priv=/tmp/
3. mysqld のインポート | エクスポートに制限はありません
4.任意のディレクトリにエクスポートされます
secure_file_priv="/"
これを設定した後、カスタマイズされたエクスポートの一部を実装できます。
関連記事:
MySQL クエリ結果をファイルにエクスポートする別の方法 コマンドラインを通じて SQL ファイルを mysql にインポートする方法以上がmysq 学習: コマンドを使用して SQL クエリの結果を特定のファイルにエクスポートするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。