sql >> Databáze >  >> RDS >> Mysql

Jak mohu obejít MySQL Errcode 13 pomocí SELECT INTO OUTFILE?

Která konkrétní verze Ubuntu je toto a je toto Ubuntu Server Edition?

Nejnovější edice Ubuntu Server Edition (jako je 10.04) se dodávají s AppArmor a profil MySQL může být ve výchozím nastavení v režimu vynucení. Můžete to zkontrolovat spuštěním sudo aa-status takhle:

# 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.

Pokud je mysqld zahrnuto v režimu vynucení, pak je to pravděpodobně ten, který zakazuje zápis. Záznamy budou také zapsány v /var/log/messages když AppArmor blokuje zápisy/přístupy. Co můžete udělat, je upravit /etc/apparmor.d/usr.sbin.mysqld a přidejte /data/ a /data/* u dna takto:

...  
/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,**  
}

A pak nechte AppArmor znovu načíst profily.

# sudo /etc/init.d/apparmor reload

VAROVÁNÍ:výše uvedená změna umožní MySQL číst a zapisovat do adresáře /data. Doufáme, že jste již zvážili bezpečnostní důsledky tohoto postupu.



  1. MySQL - jak zadat PSČ s 0?

  2. Zjistěte, zda je hodnota číslo v MySQL

  3. Odkazuje na proměnné relace (\set var='value') z PL/PGSQL

  4. Jak SUBSTRING() funguje v MariaDB