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

LOAD DATA INFILEエラーコード:13

    この投稿は古いことは知っていますが、それでも検索結果に表示されます。この問題の解決策をオンラインで見つけることができなかったので、私は自分でそれを理解することになりました。 Ubuntuを使用している場合は、MySQLがファイルを認識できないようにする「Apparmor」というプログラムがあります。 MySQLが「tmp」ディレクトリからファイルを読み取れるようにする場合は、次のことを行う必要があります。

    sudo vim /etc/apparmor.d/usr.sbin.mysqld
    

    ファイルに入ると、MySQLが使用できる一連のディレクトリが表示されます。 /tmp/** rwkという行を追加します ファイルに(どこに問題があるかはわかりませんが、ここに私が置いた場所のサンプルがあります):

      /etc/mysql/*.pem r,
    
      /etc/mysql/conf.d/ r,
    
      /etc/mysql/conf.d/* r,
    
      /etc/mysql/*.cnf r,
    
      /usr/lib/mysql/plugin/ r,
    
      /usr/lib/mysql/plugin/*.so* mr,
    
      /usr/sbin/mysqld mr,
    
      /usr/share/mysql/** r,
    
      /var/log/mysql.log rw,
    
      /var/log/mysql.err rw,
    
      /var/lib/mysql/ r,
    
      /var/lib/mysql/** rwk,
    
    
      /tmp/** rwk,
    
    
      /var/log/mysql/ r,
    
      /var/log/mysql/* rw,
    
      /var/run/mysqld/mysqld.pid w,
    
      /var/run/mysqld/mysqld.sock w,
    
      /run/mysqld/mysqld.pid w,
    
      /run/mysqld/mysqld.sock w,
    

    今あなたがする必要があるのはApparmorをリロードすることです:

    sudo /etc/init.d/apparmor reload
    

    私は「vim」を使用したことに注意してください。ただし、使用方法を知っているお気に入りのテキストエディタに置き換えてください。



    1. SQLiteビューの作成

    2. PostGISのバッファ(円)

    3. 不動産業者のデータモデル

    4. ORA-04021:オブジェクトのロック待機中にタイムアウトが発生しました