Nie można zainstalować serwera mysql w Ubuntu

17

Nie mogę zainstalować serwera mysql na moim serwerze Ubuntu 9.10. Podczas korzystania z programu apt-get install mysql-server dane wyjściowe są następujące:

# apt-get install mysql-server

Reading package lists... Done
Building dependency tree
Reading state information... Done

mysql-server is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 120 not upgraded.
2 not fully installed or removed.

After this operation, 0B of additional disk space will be used.
Setting up mysql-server-5.1 (5.1.37-1ubuntu5.4) ...
* Stopping MySQL database server 
    Mysqld    [ OK ]
* Starting MySQL database server 
mysqld [fail]

invoke-rc.d: initscript mysql, action "start" failed.

dpkg: error processing mysql-server-5.1 (--configure):

subprocess installed post-installation script returned error exit status 1

dpkg: dependency problems prevent configuration of mysql-server:

mysql-server depends on mysql-server-5.1; however:
Package mysql-server-5.1 is not configured yet.

dpkg: error processing mysql-server (--configure):
dependency problems - leaving unconfigured

No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
mysql-server-5.1
mysql-server  
E: Sub-process /usr/bin/dpkg returned an error code (1)

Nigdzie nie mogę znaleźć zadowalającego rozwiązania tego problemu. Wiele witryn mówi o ponownej instalacji, ale nie działa.

Każda pomoc będzie mile widziana.

Dziękuję Ci..

Arihant
źródło
Próbowałeś użyć aptitude? aptitude install mysql-server-5.1
Chris_O
tak… też spróbowałem tego samego błędu.
Arihant,
Miał bardzo podobne objawy podczas instalowania serwera mysql, gdy port 3306 został zajęty przez tunel SSH. Zauważyłem chwilę, nie spodziewałem się, że coś takiego
zepsuje

Odpowiedzi:

26

To działało dla mnie:

apt-get purge mysql-server
apt-get purge mysql-common
rm -rf /var/log/mysql
rm -rf /var/log/mysql.*
rm -rf /var/lib/mysql
rm -rf /etc/mysql
# and then:
apt-get install mysql-server --fix-missing --fix-broken

Chociaż usunie również wszystkie zależności od mysql.

Usunie również istniejące bazy danych, najpierw wykonaj kopię zapasową!

Źródło .

Zitrax
źródło
+1 Dla mnie też zadziałało!
Chris McCauley,
Pracował na Ubuntu 12.04 LTS i MySQL 5.5.34.
Chrupiący
Dla mnie też +1. Próbowałem apt-get purge mysql-server, ale nie apt-get purge mysql-common i nie działałem. Dzięki.
Davide Vernizzi
2
UWAGA: spowoduje to usunięcie wszystkich baz danych, najpierw wykonaj kopię zapasową!
Panthro
1
Działa, dziękuję. Kiedy to nie działa, nie wiem, dlaczego to nie działa. Kiedy to działa, nie wiem też, dlaczego to działa.
Qian Chen,
5

Kilka sugestii:

  • Zawsze oczywiste, upewnij się, że działasz jako root.
  • Spróbuj zrobić apt-get remove mysql .
  • Następnie spróbuj wykonać apt-get purge (możesz potrzebować apt-get purge mysql , czasem aptitude może być wybredny).
  • Zawsze sprawdzaj dzienniki. Najprawdopodobniej znajdą odpowiedź na prawie wszystko.
  • Spróbuj także wykonać apt-get clear cache i apt-get clean . Następnie spróbuj zainstalować ponownie.

Lub wypróbuj to rozwiązanie, które znalazłem w Google:

Pakiet mysql-server-5.1 próbuje uruchomić MySQL po zainstalowaniu pakietu, co kończy się niepowodzeniem. Pierwszą rzeczą, którą musisz zrobić, to ukończyć proces instalacji. Można to zrobić na kilka sposobów:

napraw konfigurację MySQL, sprawdź, czy działa /etc/init.d/mysql-server, i uruchom dpkg --configure -a, aby zakończyć proces instalacji; lub edytuj /var/lib/dpkg/info/mysql-server-5.1.postinst i usuń część, w której uruchamia serwer (prawdopodobnie wywołując /etc/init.d/mysql-server start lub tak dalej), a następnie uruchom dpkg - skonfiguruj -a, aby zakończyć proces instalacji, a następnie napraw konfigurację.

lilott8
źródło
1
Zgadzam się z poradą, aby wyczyścić instalację i spróbować ponownie
jamespo
to nie działa !!
Arihant,
2

Uruchomienie MySQL nie powiodło się. Powodem tego powinno być zalogowanie w /var/log/mysql.log (czy nadal jest to /var/lib/mysql/.err?). Czy możesz wkleić stamtąd dane wyjściowe, a może uda nam się dowiedzieć, co poszło nie tak.

Bittrance
źródło
/var/log/mysql.err i /var/log/mysql.log oba pliki są puste.
Arihant,
Poniżej znajduje się wynik pliku /usr/local/mysql/clc.err file.clc to nazwa hosta 20:50:31 mysqld_safe Uruchamianie demona mysqld z bazami danych z / var / lib / mysql 110402 20:50:31 [Ostrzeżenie] Nie można utwórz plik testowy /var/lib/mysql/clc.lower-test 110402 20:50:31 [Ostrzeżenie] Nie można utworzyć pliku testowego /var/lib/mysql/clc.lower-test 110402 20:50:31 [BŁĄD ] Błąd krytyczny: Nie można zmienić, aby działał jako użytkownik „mysql”; Sprawdź, czy użytkownik istnieje! 110402 20:50:31 [BŁĄD] Przerwanie 110402 20:50:31 [Uwaga] / usr / sbin / mysqld: Zakończono zamykanie 110402 20:50:31 mysqld_safe mysqld z pliku pid /var/lib/mysql/clc.pid zakończone
Arihant,
Może 1) użytkownik mysql nie istnieje lub 2) / var / lib / mysql nie jest własnością użytkownika mysql? Jeśli 2), pamiętaj, aby chown -R.
Bittrance
jest to wpis pliku / etc / passwd: „mysql: x: 118: 128: MySQL Server ,,,: / var / lib / mysql: / bin / false”. Zrobiłem już chown -R mysql / var / lib / mysql ..
Arihant
Oto dane wyjściowe: apt-get purge mysql-server `* Zatrzymywanie serwera MySQL bazy danych mysqld * Uruchomienie serwera MySQL bazy danych mysqld [błąd] invoke-rc.d: initscript mysql, działanie„ start ”nie powiodło się. dpkg: błąd przetwarzania mysql-server-5.1 (--configure): zainstalowany podproces skryptu poinstalacyjnego zwrócił błąd kod wyjścia 1 E: Podproces / usr / bin / dpkg zwrócił kod błędu (1) ` Nie mogę zrozumieć, dlaczego uruchamianie usługi serwera mysql, gdy ją usuwam.
Arihant,
1

Otwórz inną konsolę, wpisz ps aux | grep mys

I zabij wszystko, co wygląda tak:

egrep -qi ... /etc/mysql/

Powinno to pozwolić na zakończenie instalacji.

Wybo Wiersma
źródło