Ich habe ein orthomcl
Programm ausgeführt, das verwendet mysql
. Dieses Programm hat zuvor auf demselben Computer einwandfrei funktioniert. Diesmal hatte ich eine Fehlermeldung.
DBD::mysql::st execute failed: Can't create/write to file '/tmp/#sql_700_1.MYI' (Errcode: 13) at /usr/local/bioinf/orthomclSoftware-v2.0.9/bin/orthomclPairs line 709, <F> line 14.
Ich habe versucht mysql
, den Server neu zu starten. Der Server wurde ausgeschaltet, konnte jedoch nicht gestartet werden.
sudo service mysql start
start: Job failed to start
/var/log/mysql/error.log
und /var/log/mysql.err
sind leer. Ich habe ein paar Dinge ausprobiert , dass ich hier mit Spülung gefunden und neu zu installieren mysql-server
und zu entfernen ib_logfile*
in /var/lib/mysql
.
Das andere, was ich versucht habe, ist
sudo dpkg-reconfigure mysql-server-5.5
Die Fehlermeldungen sind:
/usr/sbin/mysqld: Can't create/write to file '/tmp/ibNzqwO0' (Errcode: 13)
InnoDB: Error: unable to create temporary file; errno: 13
[ERROR] Plugin 'InnoDB' init function returned error.
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB
[ERROR] Aborting
Hier einige Informationen von dmesg | grep mysql
:
[3115187.338273] init: mysql main process (44255) terminated with status 1
[3115187.338417] init: mysql main process ended, respawning
[3115187.356361] init: mysql post-start process (44256) terminated with status 1
[3116827.473256] type=1400 audit(1396394069.224:132): apparmor="DENIED" operation="open" parent=45387 profile="/usr/sbin/mysqld" name="/home/tmp/" pid=45396 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
[3116827.582489] type=1400 audit(1396394069.332:133): apparmor="DENIED" operation="mknod" parent=45387 profile="/usr/sbin/mysqld" name="/home/tmp/#sql_b154_0.MYI" pid=45402 comm="mysqld" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
[3116827.908448] type=1400 audit(1396394069.660:134): apparmor="DENIED" operation="mknod" parent=45317 profile="/usr/sbin/mysqld" name="/home/tmp/ibbPfaqP" pid=45415 comm="mysqld" requested_mask="c" denied_mask="c" fsuid=118 ouid=118
[3116841.623608] type=1400 audit(1396394083.372:139): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=45443 comm="apparmor_parser"
[3116841.771621] init: mysql pre-start process (45474) terminated with status 1
Es gab viele, viele Zeilen wie diese.
Könnte mir jemand helfen, herauszufinden, was mit meinem MySQL-Server nicht stimmt?
Danke vielmals.
sudo /etc/init.d/apparmor restart
Es hört sich so an, als hätten Sie nicht die richtigen Berechtigungen
/tmp
, die weltweit beschreibbar sein sollten. Sie sollten es mit diesem Befehl beheben können:777
Dadurch werden die Berechtigungen auf (rwx für alle) und das für das Verzeichnis empfohlene Sticky-Bit festgelegt/tmp
. Wie erklärt inman chmod
:quelle
/tmp
, an einen anderen Ort verschoben zu werden, ohne die Confs zu ändern. Die Audits zeigen, dass es nicht um die Verweigerung der Erlaubnis für das Dateisystem geht, sondern um die Apparmor Guards.