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

SELECTINTOOUTFILEを使用してMySQLErrcode13を回避するにはどうすればよいですか?

    これはUbuntuのどの特定のバージョンであり、これはUbuntu Server Editionですか?

    最近のUbuntuServerEdition(10.04など)にはAppArmorが付属しており、MySQLのプロファイルはデフォルトで強制モードになっている可能性があります。これは、sudo aa-statusを実行することで確認できます。 そのように:

    # sudo aa-status
    5 profiles are loaded.
    5 profiles are in enforce mode.
       /usr/lib/connman/scripts/dhclient-script
       /sbin/dhclient3
       /usr/sbin/tcpdump
       /usr/lib/NetworkManager/nm-dhcp-client.action
       /usr/sbin/mysqld
    0 profiles are in complain mode.
    1 processes have profiles defined.
    1 processes are in enforce mode :
       /usr/sbin/mysqld (1089)
    0 processes are in complain mode.
    

    mysqldが強制モードに含まれている場合、それはおそらく書き込みを拒否するものです。エントリは/var/log/messagesにも書き込まれます AppArmorが書き込み/アクセスをブロックしたとき。できることは、/etc/apparmor.d/usr.sbin.mysqldを編集することです。 /data/を追加します および/data/* そのように底の近く:

    ...  
    /usr/sbin/mysqld  {  
        ...  
        /var/log/mysql/ r,  
        /var/log/mysql/* rw,  
        /var/run/mysqld/mysqld.pid w,  
        /var/run/mysqld/mysqld.sock w,  
        **/data/ r,  
        /data/* rw,**  
    }
    

    次に、AppArmorにプロファイルをリロードさせます。

    # sudo /etc/init.d/apparmor reload
    

    警告:上記の変更により、MySQLは/dataディレクトリの読み取りと書き込みが可能になります。これがセキュリティに与える影響についてすでに検討されていることを願っています。



    1. T-sql-値が整数かどうかを判断します

    2. ClusterControlを使用したMySQLおよびMariaDBのPCIコンプライアンス

    3. PostgreSQLでグループごとに最後の行を取得する方法

    4. VMwareWorkstationを使用した仮想マシンへのSQLServer2019用のUbuntu18.04のインストール