sql >> Databasteknik >  >> RDS >> Mysql

LADDA DATAINFIL Felkod:13

Jag vet att det här inlägget är gammalt, men det kommer fortfarande upp i sökresultaten. Jag kunde inte hitta lösningen på det här problemet online, så det slutade med att jag kom på det själv. Om du använder Ubuntu finns det ett program som heter "Apparmor" som hindrar MySQL från att se filen. Här är vad du behöver göra om du vill att MySQL ska kunna läsa filer från "tmp"-katalogen:

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

När du väl är i filen kommer du att se ett gäng kataloger som MySQL kan använda. Lägg till raden /tmp/** rwk till filen (jag är inte säker på att det spelar någon roll var, men här är ett exempel på var jag placerade den):

  /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,

Nu behöver du bara ladda om Apparmor:

sudo /etc/init.d/apparmor reload

Observera att jag använde "vim", men ersätt det med vad din favorittextredigerare är som du vet hur man använder.



  1. Hantera NULL-värdena effektivt med SQL COALESCE-funktionen för nybörjare

  2. Sorten som spills till nivå 15 000

  3. Ange standardvärde för en heltalskolumn SQLite

  4. MAKETIME() Exempel – MySQL