sql >> データベース >  >> RDS >> Mysql

MySQLに別のユーザーとしてoutfileを書き込むにはどうすればよいですか?

    出力ファイルは、クライアントプロセスではなく、mysqldプロセスによって作成されます。したがって、出力ファイルはmysqldプロセスのuidとgidが所有している必要があります。

    ファイルにアクセスできるuidまたはgidの下のプロセスからファイルにアクセスする場合は、ファイルにアクセスするためにsudoを使用する必要がなくなります。つまり、mysqldがuidおよびgid "mysql" / "mysql"が所有するファイルを作成する場合は、グループ"mysql"に独自のアカウントを追加します。そうすれば、ファイルのアクセス許可モードにグループアクセスが含まれていれば、ファイルにアクセスできるはずです。

    編集:

    rwxrwxrwtのディレクトリ許可モードで/tmp内のファイルを削除しています。スティッキービット(「t」)は、ファイルまたはディレクトリの権限に関係なく、uidがファイルの所有者と同じである場合にのみファイルを削除できることを意味します。

    スティッキービットが設定されていない別のディレクトリに出力ファイルを保存すると、ファイルを正常に削除できるはずです。

    sticky(8)のマニュアルページからの抜粋を読んでください:

    スティッキーディレクトリ

    「スティッキービット」が設定されているディレクトリは、追加専用ディレクトリ、より正確にはファイルの削除が制限されているディレクトリになります。スティッキーディレクトリ内のファイルは、ユーザーがディレクトリへの書き込み権限を持ち、ユーザーがファイルの所有者、ディレクトリの所有者、またはスーパーユーザーである場合にのみ、ユーザーが削除または名前変更できます。この機能は、/ tmpなどのディレクトリに便利に適用できます。このディレクトリは、公に書き込み可能である必要がありますが、ユーザーが互いのファイルを任意に削除または名前変更するライセンスを拒否する必要があります。



    1. OracleDatabase19cでアーカイブログモードを有効にする方法

    2. MySQLとMariaDBの容量計画-ストレージサイズのディメンション化

    3. SQLiteサブクエリ

    4. R12.2のフォワードクロスエディショントリガー