Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak mogę obejść MySQL Errcode 13 za pomocą SELECT INTO OUTFILE?

Która to konkretna wersja Ubuntu i czy jest to Ubuntu Server Edition?

Najnowsze wersje Ubuntu Server (takie jak 10.04) są dostarczane z AppArmor i profilem MySQL domyślnie w trybie wymuszania. Możesz to sprawdzić, wykonując sudo aa-status tak:

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

Jeśli mysqld jest włączony w tryb wymuszania, to prawdopodobnie odmawia zapisu. Wpisy byłyby również zapisywane w /var/log/messages gdy AppArmor blokuje zapisy/dostępy. Możesz edytować /etc/apparmor.d/usr.sbin.mysqld i dodaj /data/ i /data/* u dołu tak:

...  
/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 następnie spraw, aby AppArmor ponownie załadował profile.

# sudo /etc/init.d/apparmor reload

UWAGA:powyższa zmiana pozwoli MySQL na odczytywanie i zapisywanie w katalogu /data. Mamy nadzieję, że już rozważyłeś konsekwencje tego dla bezpieczeństwa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wykonać dwa zapytania mysql jako jedno w PHP/MYSQL?

  2. Funkcja MySQL DEGREES() — konwersja z radianów na stopnie

  3. Jak zainstalować phpMyAdmin na zarządzanych kontach hostingowych

  4. Jak zwrócić pozycję pozycji listy w MySQL?

  5. Licznik przyrostów MySQL SELECT