Ich wollte aus Neugier einen Blick auf MySQL 5.6 auf Ubuntu 14.04 werfen. Und basierend auf diesem Artikel sah es auf jeden Fall so aus, als ob die Installation einfach und unkompliziert sein sollte. Daher habe ich einen AWS EC2-Mikroserver mit Ubuntu 14.04 (64-Bit) gestartet, mich bei meiner ursprünglichen Instanz angemeldet (über PuTTY) und die folgenden Befehle ausgegeben:
$ sudo apt-get update
$ sudo apt-get build-dep mysql-server-5.6
$ sudo apt-get install mysql-server-5.6
(Die ersten beiden Befehle waren verzweifelte Aktionen, da apt-get install
es zuvor nicht geklappt hatte , alleine zu laufen . Aber selbst mit allen drei Befehlen funktionierte der Installationsschritt immer noch nicht.)
An dem Punkt, an dem ich basierend auf dem oben genannten Artikel erwartet hatte, diese Ausgabe des letzten Befehls zu sehen:
mysql start/running, process 2355
Setting up libhtml-template-perl (2.95-1) ...
Setting up mysql-common-5.6 (5.6.16-1~exp1) ...
Processing triggers for libc-bin (2.19-0ubuntu6) ...
Processing triggers for ureadahead (0.100.0-16) ...
Ich habe stattdessen folgendes erhalten:
start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing package mysql-server-5.6 (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up libhtml-template-perl (2.95-1) ...
Setting up mysql-common-5.6 (5.6.16-1~exp1) ...
Processing triggers for libc-bin (2.19-0ubuntu6) ...
Processing triggers for ureadahead (0.100.0-16) ...
Errors were encountered while processing:
mysql-server-5.6
E: Sub-process /usr/bin/dpkg returned an error code (1)
Kann jemand sehen, was schief gelaufen ist?
quelle
Antworten:
Das Problem, das Sie haben, sieht genauso aus wie in diesem Fehlerbericht . Das Fehlschlagen des Startvorgangs scheint darauf zurückzuführen zu sein, dass die Standardkonfiguration von MySQL 5.6 mehr Speicher benötigt, als in Ihrer Mikroinstanz verfügbar ist.
Die Lösung für den Fehler scheint darin zu bestehen, eine der folgenden Aktionen auszuführen:
max_connections
Variablequelle
sudo apt-get install mysql-server-5.6
. Es scheint also, dass eine EC2 Micro-Instanz nicht genug Speicher hat, um MySQL 5.6 mit apt-get zu installieren!Ich habe das gleiche Problem festgestellt, als ich meinen kleinen VPS initialisierte. Das Problem wird durch einen kleinen Speicher verursacht. Ohne zusätzliches Geld für die Vergrößerung des nicht benötigten Speichers können Sie einfach Auslagerungsdateien erstellen, um die Installation zu erleichtern. Ja, der Swap ist langsam, aber alles, was Sie brauchen, ist die Installation.
Unter Ubuntu 14.04 behebe ich das Problem folgendermaßen:
Erstellen Sie eine 4G-Auslagerungsdatei:
Ändern Sie die Berechtigung, damit nur root auf Folgendes zugreifen und es ändern kann:
Lass es tauschen:
Aktivieren Sie:
Jetzt können Sie versuchen, mysql erneut zu installieren. Diesmal sollte dies erfolgreich sein. Denken Sie daran, die zuvor fehlgeschlagene Installation zu entfernen, bevor Sie dies tun.
quelle
Ich bin auf dasselbe Problem gestoßen. Ich hatte zwar genügend Speicherplatz (12 GB) für meine VM, aber die Dinge scheiterten wie in Frage. Nachdem ich einige Zeit damit verbracht hatte, herauszufinden, dass in apt get einige der Konfigurations- und Tool-Übersetzungspakete fehlten.
Das MySQL apt-Repository bietet eine einfache und bequeme Möglichkeit, MySQL-Produkte mit den neuesten Softwarepaketen zu installieren und zu aktualisieren
apt-get
. Folgendes müssen Sie beachten:Hinzufügen des MySQL APT-Repositorys Fügen Sie zunächst das MySQL apt-Repository zur Software-Repository-Liste Ihres Systems hinzu. Folge diesen Schritten:
Gehen Sie zur Download-Seite für das MySQL-Repository unter http://dev.mysql.com/downloads/repo/apt/ .
Wählen Sie das Release-Paket aus und laden Sie es herunter.
Installieren Sie das heruntergeladene Release-Paket mit dem folgenden Befehl und ersetzen Sie den versionsspezifischen Paketnamen durch den Namen des heruntergeladenen Pakets (mit vorangestelltem Pfad, wenn Sie den Befehl nicht in dem Ordner ausführen, in dem sich das Paket befindet):
Beachten Sie, dass das gleiche Paket auf allen unterstützten Debian- und Ubuntu-Plattformen funktioniert.
Aktualisieren Sie die Paketinformationen aus dem MySQL APT-Repository mit dem folgenden Befehl (dieser Schritt ist obligatorisch):
Installation von MySQL mit APT
Installieren Sie MySQL mit folgendem Befehl:
Dadurch werden das Paket für den MySQL-Server sowie die Pakete für den Client und für die gemeinsamen Datenbankdateien installiert.
Während der Installation werden zwei Anforderungen von den Dialogfeldern gestellt: Geben Sie ein Kennwort für den Root-Benutzer für Ihre MySQL-Installation ein.
Der MySQL-Server wird nach der Installation automatisch gestartet. - Sie können den Status des MySQL-Servers mit dem folgenden Befehl überprüfen:
Stoppen Sie den MySQL-Server mit dem folgenden Befehl:
Verwenden Sie den folgenden Befehl, um den MySQL-Server neu zu starten:
Ich folgte diesem http://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#apt-repo-fresh-install . Dies funktionierte reibungslos und alle Pakete heruntergeladen und erfolgreich installiert
mysql 5.6
.quelle
In meinem Fall habe ich hinzugefügt
zum
/etc/mysql/my.cnf
quelle
Durch Deaktivieren des performance_schema wird außerdem viel Speicherplatz gespart. Meine leere Datenbank wechselt beim Start von 400 auf 40 m:
MySQL-Dokumente: http://dev.mysql.com/doc/refman/5.6/de/performance-schema.html
quelle
Ich bin auf dieses Problem unter Ubuntu 15.10 gestoßen. Für mich war es kein Speicherproblem (ich habe 2 GB RAM und 18 GB Swap, von denen insgesamt nur etwa 300 MB verwendet wurden).
In meinem Fall
dpkg
wurde gesucht/etc/mysql/conf.d
, was es nicht gab (hat aber/etc/mysql/mysql.conf.d
geklappt!). Das erneute Installieren von mysql und das manuelle Erstellen des Ordners/etc/mysql/conf.d
löste mein Problem.Wie genau ist das passiert? Ich habe keine Ahnung. Ich wollte meine Antwort fast nicht teilen, da diese Lösung für meinen Computer spezifisch ist.
Ich habe dieses Problem mit dem Hilfsprogramm gelöst
strace
, das für diese Art von Dingen fantastisch ist, wenn auch unglaublich ausführlich.Ich habe es so benutzt:
Nachdem ich mich ctrlchalb durchgedrückt hatte
apt-get install mysql-server
, musste ich rennendpkg --configure -a
, um die Installation abzuschließen.Ich rannte
strace 2>/tmp/trace dpkg --configure -a
. Das hat mich zu einem nettenstrace
Log gemacht/tmp/trace
.Ich schaute durch das Protokoll, vor allem unten, wo es fehlschlug.
Ich bemerkte, dass es versuchte, auf eine solche Datei oder ein solches Verzeichnis zuzugreifen
/etc/mysql/conf.d
, und bekam den Fehlercode ENOENT .Für alle, die dies ausprobieren möchten, tun Sie das
strace 2>/tmp/trace (command)
und greifen Sie zuENOENT
. Wie gesagt, diese Lösung ist wahrscheinlich spezifisch für meinen Computer, aber vielleicht möchten Sie es ausprobieren.quelle
In meinem Fall musste ich nur einige Änderungen an den
my.cnf
beiden Protokolldateienib_logfile0
undib_logfile1
und vornehmen und mysql startenSie müssen mysql nicht neu installieren, löschen Sie einfach diese 2 Protokolldateien und starten Sie den mysql-Server neu
Nachfolgend Änderungen, die ich in vorgenommen habe
my.cnf
:quelle