sql >> Database teknologi >  >> RDS >> Mysql

Hvordan kan jeg komme uden om MySQL Errcode 13 med SELECT INTO OUTFILE?

Hvilken bestemt version af Ubuntu er dette, og er denne Ubuntu Server Edition?

Nylige Ubuntu Server Editions (såsom 10.04) leveres med AppArmor og MySQL's profil kan være i håndhævelsestilstand som standard. Du kan kontrollere dette ved at udføre sudo aa-status sådan:

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

Hvis mysqld er inkluderet i enforce-tilstand, så er det den, der sandsynligvis nægter at skrive. Indgange vil også blive skrevet i /var/log/messages når AppArmor blokerer skrive/adgang. Det du kan gøre er at redigere /etc/apparmor.d/usr.sbin.mysqld og tilføj /data/ og /data/* nær bunden som sådan:

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

Og få derefter AppArmor til at genindlæse profilerne.

# sudo /etc/init.d/apparmor reload
 

ADVARSEL:Ændringen ovenfor vil tillade MySQL at læse og skrive til /data-mappen. Vi håber, du allerede har overvejet sikkerhedskonsekvenserne af dette.



  1. Kan ikke oprette forbindelse til lokal MySQL-server gennem socket '/var/lib/mysql/mysql.sock' (2)

  2. Indsæt data i tabeller forbundet med fremmednøgle

  3. Best Practices for PostgreSQL-replikering - del 2

  4. Forbinder PostgreSQL 9.2.1 med Hibernate