Uruchomiłem orthomcl
program, który używa mysql
. Ten program wcześniej działał dobrze na tym samym komputerze. Tym razem miałem komunikat o błędzie.
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.
Próbowałem zrestartować mysql
serwer, serwer wyłączył się, ale nie udało się uruchomić.
sudo service mysql start
start: Job failed to start
/var/log/mysql/error.log
i /var/log/mysql.err
są puste. Próbowałem kilka rzeczy, które znalazłem tutaj w tym czyszczenie i ponowne instalowanie mysql-server
i usuwanie ib_logfile*
w /var/lib/mysql
.
Inną rzeczą, której próbowałem, jest
sudo dpkg-reconfigure mysql-server-5.5
Komunikaty o błędach to:
/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
Oto kilka informacji z 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
Było wiele takich linii.
Czy ktoś mógłby mi pomóc dowiedzieć się, co jest nie tak z moim serwerem MySQL?
Wielkie dzięki.
sudo /etc/init.d/apparmor restart
Wygląda na to, że nie masz odpowiednich uprawnień
/tmp
, które powinny być dostępne do zapisu na całym świecie. Powinieneś być w stanie to naprawić za pomocą tego polecenia:To ustawi uprawnienia na
777
(rwx dla wszystkich), a także ustawi lepki bit, który jest zalecany dla katalogu/tmp
. Jak wyjaśniono wman chmod
:źródło
/tmp
przemieszczania się w inne miejsce bez zmiany konf. Z audytów wynika, że nie chodzi o odmowę dostępu do systemu plików, ale o strażnika.