J'exécutais un orthomcl
programme qui utilise mysql
. Ce programme fonctionnait très bien sur le même ordinateur auparavant. Cette fois, j'ai eu un message d'erreur.
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.
J'ai essayé de redémarrer le mysql
serveur, le serveur s'est arrêté mais n'a pas pu démarrer.
sudo service mysql start
start: Job failed to start
/var/log/mysql/error.log
et /var/log/mysql.err
sont vides. J'ai essayé quelques choses que je trouve ici , y compris la purge et la réinstallation mysql-server
et la suppression ib_logfile*
dans /var/lib/mysql
.
L'autre chose que j'ai essayée est
sudo dpkg-reconfigure mysql-server-5.5
Les messages d'erreur sont:
/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
Voici quelques informations de 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
Il y avait beaucoup de lignes comme celle-ci.
Quelqu'un pourrait-il m'aider à comprendre ce qui ne va pas avec mon serveur MySQL, s'il vous plaît?
Merci beaucoup.
sudo /etc/init.d/apparmor restart
Il semble que vous n'ayez pas les bonnes autorisations
/tmp
, qui devraient être accessibles en écriture. Vous devriez pouvoir le réparer avec cette commande:Cela définira les autorisations sur
777
(rwx pour tout le monde) et définira également le bit collant qui est recommandé pour le/tmp
dir. Comme expliqué dansman chmod
:la source
/tmp
être déplacé vers un autre emplacement sans changer les confs. Les audits indiquent qu'il ne s'agit pas d'une autorisation refusée sur le système de fichiers, mais des gardes de l'apparmeur.