Έχω έναν Ubuntu Server 14.04 στη VPS Dime το οποίο χρησιμοποιείται για php development. Λόγου του ότι είναι διακομιστής που χρησιμοποιήστε από αρκετά άτομα, δεν τροποποιείται συχνά και είμαι ο μόνος server administrator με δικαιώματα root/sudo. Μέχρι πριν 2 μέρες όλα δούλευαν άψογα, η μόνη αλλαγή που έγινε ήταν η εγκατάσταση του YouTrack της Jetbrains για δοκιμή (https://www.jetbrains.com/youtrack/) αλλά δεν έχει καμία σχέση με τη MySQL διότι έχει δικιά του flat file βάση δεδομένων. Σημείωση ότι το τρέχω στη πόρτα 8081 που από ότι ξέρω δε χρησιμοποιείται από τη MySQL. Χωρίς λοιπόν να έχει αλλάξει κάτι, σταμάτησε να δουλεύει η MySQL και βγάζει το error 2002, συγκεκριμένα: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Η MySQL ενώ τρέχει, στο restart παγώνει όταν πάει να ξεκινήσει και πάλι, όμως αν χρησιμοποιήσω το ps, έχει ξεκινήσει και πάλι από το χρήστη mysql με διαφορετικό pid, οπότε υποθέτω το restart έγινε.
- Κώδικας: Επιλογή όλων
mysql 25213 0.5 0.2 159972 15424 ? Ss 16:03 0:00 /usr/sbin/mysqld
Στο φάκελο /var/run/mysql δεν υπάρχει το αρχείο mysql.sock οπότε υπέθεσα ότι είναι θέμα permission, προσπάθησα να δώσω δικαιώματα στο φάκελο για το χρήστη και group mysql αλλά και πάλι καμία επιτυχία. Έχω δοκιμάσει σχεδόν ότι βρήκα στο google, συμπεριλαμβανομένου και του post στο ubuntuforums.org αλλά και πάλι με καμιά επιτυχία.
Τρέχοντας το mysqld -verbose παίρνω αυτό το output:
- Κώδικας: Επιλογή όλων
bill@Will:~$ sudo mysqld -verbose
150702 16:06:19 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
150702 16:06:19 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
150702 16:06:19 [Note] mysqld (mysqld 5.5.43-0ubuntu0.14.04.1) starting as process 27957 ...
Τίποτα το σπουδαίο υποθέτω, πέρα από το warning που θα το φτιάξω αφού επιλύσω το θέμα που προέκυψε.
Το μόνο ενδιαφέρων στοιχείο που μπόρεσα να βρω ήταν στο /var/log/mysql/error.log
- Κώδικας: Επιλογή όλων
150702 5:01:52 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
150702 5:01:52 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
150702 5:01:52 [Note] Plugin 'FEDERATED' is disabled.
150702 5:01:52 InnoDB: The InnoDB memory heap is disabled
150702 5:01:52 InnoDB: Mutexes and rw_locks use GCC atomic builtins
150702 5:01:52 InnoDB: Compressed tables use zlib 1.2.8
150702 5:01:52 InnoDB: Using Linux native AIO
150702 5:01:52 InnoDB: Warning: io_setup() failed with EAGAIN. Will make 5 attempts before giving up.
InnoDB: Warning: io_setup() attempt 1 failed.
InnoDB: Warning: io_setup() attempt 2 failed.
InnoDB: Warning: io_setup() attempt 3 failed.
InnoDB: Warning: io_setup() attempt 4 failed.
InnoDB: Warning: io_setup() attempt 5 failed.
150702 5:01:55 InnoDB: Error: io_setup() failed with EAGAIN after 5 attempts.
InnoDB: You can disable Linux Native AIO by setting innodb_use_native_aio = 0 in my.cnf
150702 5:01:55 InnoDB: Fatal error: cannot initialize AIO sub-system
150702 5:01:55 [ERROR] Plugin 'InnoDB' init function returned error.
150702 5:01:55 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
150702 5:01:55 [ERROR] Unknown/unsupported storage engine: InnoDB
150702 5:01:55 [ERROR] Aborting
150702 5:01:55 [Note] /usr/sbin/mysqld: Shutdown complete
Και το error log είναι γεμάτο με αυτό το error οπότε αν κατάλαβα καλά κάνει συνέχεια restart η mysql μόνη της μέχρι να δουλέψει.
Δυστυχώς δεν έχω την εμπειρία να καταλάβω πως να λύσω το πρόβλημα στο error log οπότε όποια βοήθεια ή πρόταση θα ήταν απείρως χρήσιμη.
Ευχαριστώ για το χρόνο σας, ελπίζω να μην υπάρχει παρόμοιο post αλλά δεν βρήκα τίποτα που να με καλύπτει.