Dzisiaj zrobiłem nową instalację Ubuntu 12.04 i zacząłem konfigurować lokalne środowisko programistyczne. Zainstalowałem mysql i edytowałem, /etc/mysql/my.cnf
aby zoptymalizować InnoDB, ale kiedy próbuję ponownie uruchomić mysql, błąd kończy się niepowodzeniem:
[20:53][tom@Pochama:/var/www/website] (master) $ sudo service mysql restart
start: Job failed to start
Syslog ujawnia problem ze skryptem init:
> tail -f /var/log/syslog
Apr 28 21:17:46 Pochama kernel: [11840.884524] type=1400 audit(1335644266.033:184): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=760 comm="apparmor_parser"
Apr 28 21:17:47 Pochama kernel: [11842.603773] init: mysql main process (764) terminated with status 7
Apr 28 21:17:47 Pochama kernel: [11842.603841] init: mysql main process ended, respawning
Apr 28 21:17:48 Pochama kernel: [11842.932462] init: mysql post-start process (765) terminated with status 1
Apr 28 21:17:48 Pochama kernel: [11842.950393] type=1400 audit(1335644268.101:185): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=811 comm="apparmor_parser"
Apr 28 21:17:49 Pochama kernel: [11844.656598] init: mysql main process (815) terminated with status 7
Apr 28 21:17:49 Pochama kernel: [11844.656665] init: mysql main process ended, respawning
Apr 28 21:17:50 Pochama kernel: [11845.004435] init: mysql post-start process (816) terminated with status 1
Apr 28 21:17:50 Pochama kernel: [11845.021777] type=1400 audit(1335644270.173:186): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=865 comm="apparmor_parser"
Apr 28 21:17:51 Pochama kernel: [11846.721982] init: mysql main process (871) terminated with status 7
Apr 28 21:17:51 Pochama kernel: [11846.722001] init: mysql respawning too fast, stopped
Jakieś pomysły?
Rzeczy, które próbowałem już:
Poszukałem go i znalazłem błąd Ubuntu z apparmor ( https://bugs.launchpad.net/ubuntu/+source/mysql-5.5/+bug/970366 ), zmieniłem program z trybu wymuszania na tryb narzekania:
sudo apt-get install apparmor-utils
sudo aa-complain /usr/sbin/mysqld
sudo /etc/init.d/apparmor reload
ale to nie pomogło. Nadal nie mogę uruchomić MySQL.
Pomyślałem również, że problem może wynikać z tego, że pliki dziennika InnoDB miały inny rozmiar niż się spodziewał mysql. Usunąłem InnoDB plików dziennika przed ponownym użyciem: sudo mv /var/lib/mysql/ib_logfile* /tmp
. Ale bez powodzenia.
Obejście: Ponownie zainstalowałem 12.04, upewniłem się, że nie dotykam /etc/mysql/my.cnf
w żaden sposób. MySQL działa, więc mogę zacząć od tego, co muszę zrobić. Ale w pewnym momencie będę musiał go edytować - mam nadzieję, że wymyślę rozwiązanie lub w tym momencie odpowiedź na to pytanie ...
dpkg-reconfigure mysql-server-5.5
naprawiłem cokolwiek było nie tak w mojej konfiguracji.utf8_unicode_ci
jest lepszy. Teraz nawetutf8mb4_unicode_ci
Innodb ma ustawienie domyślne (innodb_buffer_pool_size), które jest ustawione na 128M - to może być zbyt duże dla twojego serwera (szczególnie jeśli używasz małego Amazon EC2 AMI - który byłam) Poprawką, która działała dla mnie było dodanie następującego linia do
/etc/mysql/my.cnf
Napisałem o tej poprawce tutaj http://www.mlynn.org/2012/07/mysql-5-5-on-ubuntu-12-04-job-failed-to-start
źródło
innodb_buffer_pool_size
niższej wartości było jedną z części rozwiązania, ale uwaga: może zabraknąć pamięci.Miałem podobny problem. To było frustrujące, ponieważ nie widziałem żadnych dzienników błędów wskazujących na problem.
W moim przypadku wartość ustawiona dla innodb_buffer_pool_size była zbyt duża dla pamięci serwera.
Znalazłem to, uruchamiając mysqld bezpośrednio jako użytkownik mysql.
W ten sposób faktycznie widzisz wyjście błędu.
źródło
Miałem również podobny problem. Poniższe elementy mówią, że zostały usunięte z serwera mysql 5.5.
Jeśli masz je w swoim
my.cnf
, to się nie uruchomi. Skomentuj je za pomocą#
.(Informacje pochodzą z: http://dev.mysql.com/doc/refman/5.5/en/replication-options-slave.html )
Opcje, których dotyczy problem, pokazano na tej liście:
źródło
Wydaje się sprowadzać do błędów w konfiguracji MySQL, zlokalizowanej w
/etc/mysql/my.cnf
plikach i w/etc/mysql/conf.d/
.W moim przypadku była to niepoprawna
bind-address
wartość, ponieważ zmienił się adres IP mojego komputera i MySQL nie mógł się już powiązać. Więcej informacji na ten temat można znaleźć w tym artykule na blogu .źródło
Dobrym sposobem na debugowanie błędów w procesie po uruchomieniu (
/etc/init/mysql.conf
) jest sprawdzenie dzienników aktualizacji:To dało mi błąd gniazda:
W moim przypadku było to spowodowane brakującym
user
ustawieniem w[mysqld]
grupie wmy.cnf
źródło
Kiedy miałem podobny błąd MySQL („Uruchomienie zadania nie powiodło się”) po aktualizacji z 11.10 do 12.04, komentarz nr 27 na https://bugs.launchpad.net/ubuntu/+source/mysql-dfsg-5.1/+bug/ 573318? Komentarze = wszystko działało idealnie dla mnie. Zacytować:
źródło
Dla mnie rozwiązaniem było usunięcie linii ...
... która jest składnią MySQL 3.x i należy ją zmienić na
źródło
Miałem ten sam problem. Okazało się, że są to repliki master slave mysql my.cnf. Sprawdź swój
/var/log/mysql/error.log
.Mam nadzieję, że to mała pomoc. Najpierw sprawdź ustawienia mysql, zanim stracisz dwie godziny z apparmor, który działa dobrze.
źródło
Miałem te same problemy, dla mnie
bind-address
zostały niepoprawnie ustawione w moim/etc/mysql/my.cnf
pliku. Wygląda więc na to, że wszystko, co nie jest właściwe w pliku my.cnf, może powodować ten problem. W dziennikach nie znalazłem niczego, co wskazywałoby na ten problem.źródło
Moim problemem było 0% wolnego miejsca! Podwójne sprawdzenie :-)
źródło
Sprawdź
/tmp
uprawnienia. Miałem ten problem, po wielu latach googleowania i ponownym uruchomieniu, dowiedziałem się o tym/tmp
uprawnienia to 755.Zmieniam go na 777 i
mysql
zaczynam dobrze.źródło
/tmp
na nowej partycji.Po automatycznej aktualizacji do mysqld-5.5.53 ubuntu 14.04.1 mysql nie uruchomi się. Te wiersze pojawiły się w moim dzienniku systemowym:
Problem został rozwiązany przez utworzenie tego katalogu:
źródło
Właśnie zaktualizowałem MySQL i wersję AppArmor, jak sugerowano tutaj, aby rozwiązać ten problem na Ubuntu 12.04 działającym na instancji Amazon ec2. Nadal pojawia się błąd kilka razy, ale MySQL uruchamia się ponownie automatycznie.
źródło
Miałem te same komunikaty o błędach, ale przyczyna była inna. Moje tabele InnoDB były uszkodzone, ponieważ cały system plików przeszedł w tryb tylko do odczytu. Naprawiłem uszkodzenie, dodając następujący wiersz do /etc/mysql/my.cf
Uruchomiłem MySQL:
MySQL zaczął się i zrzuciłem / wyeksportowałem wszystkie tabele. Zmieniłem innodb_force_recovery na 0 (= domyślnie) i zrestartowałem MySQL:
Używam Ubuntu 12.04 z MySQL 5.5. Minęło dużo czasu, zanim znalazłem problem i mam nadzieję, że mogę pomóc komuś z tą odpowiedzią. Zobacz także http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
źródło
W moim przypadku problemem było
/etc/mysql/my.cnf
pozwolenie na plik.Zmieniłem to dla wygody, ale spowodowało to takie błędy
my.cnf
Pozwolenie było 766 i zmieniłem go na 744, a dwa z trzech błędów odszedł. Nadal występuje jeden podobny komunikat o błędzie, ale nie uniemożliwił on uruchomienia mysql.Mam nadzieję że to pomoże...
źródło
W moim przypadku miałem złe
bind-address
oświadczenie. Pobiegłem znaleźćifconfig
prywatny adres IP EC2 i zaktualizowałem go w/etc/mysql/my.cnf
pliku.źródło
W moim przypadku znalazłem problem z uprawnieniami na / tmp. Właśnie ustawiłem uprawnienia katalogu tmp na 766 i zrestartowałem usługę mysql. Naprawiono.
źródło