So installieren Sie MySQL unter Ubuntu 16.04

8

Ich folge diesem Digital Ocean Tutorial für Ubuntu 14.04, um MySQL unter Ubuntu 16.04 für meine Rails-Projekte zu installieren. Ich hatte vielleicht fälschlicherweise angenommen, dass das Verfahren das gleiche sein würde.

Wenn ich den Befehl ausführe sudo mysql_install_db, wird jedoch die folgende Fehlermeldung angezeigt:

2016-06-15 18:40:36 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2016-06-15 18:40:36 [ERROR]   The data directory needs to be specified.

Wie kann ich das Setup abschließen? Ich habe das gleiche Verfahren in der Vergangenheit unter Ubuntu 14.04 mehrmals erfolgreich durchgeführt.

Jawad Khawaja
quelle
4
Was ist, wenn Sie das tun, was es vorschlägt : mysqld --initialize?
Jos
2
@ Jos Es gibt den folgenden Fehler:mysqld: Can't create directory '/var/lib/mysql/' (Errcode: 17 - File exists) 2016-06-15T14:00:28.483462Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2016-06-15T14:00:28.484374Z 0 [ERROR] Aborting
Jawad Khawaja
2
Sie können dieses Problem wahrscheinlich /var/lib/mysqlumgehen , indem Sie das Verzeichnis löschen und den --initializeVorgang erneut ausführen .
Jos
1
Danke für das! Ich befürchtete, es könnte Probleme verursachen, da es eine Reihe von Dateien enthielt. Aber es hat funktioniert. Ich habe die Installation jetzt abgeschlossen.
Jawad Khawaja
@Jos Du solltest deinen Kommentar als Antwort posten.
Byte Commander

Antworten:

9

Die Installation des MySQL-Servers umfasst ungefähr drei Schritte: 1) Entpacken der Software; 2) Erstellen einer Standarddatenbank; 3) Erstellen eines Standardbenutzers / -kennworts (und Speichern dieses in der Datenbank).

Sollten Sie versehentlich die Datenbankdateien verlieren (normalerweise in /var/lib/mysql), können Sie erneut starten, ohne das Serverpaket vollständig neu zu installieren. Dies geschieht mit dem Befehl mysqld --initialize. Wenn Sie diesen Befehl ausführen, während eine Datenbank bereits vorhanden ist, wird ein Fehler gemeldet ("Datei existiert") und es wird nicht versucht, die Datenbank zu überschreiben. Wenn Sie sich jedoch nicht sicher sind, ob der Installationsvorgang ordnungsgemäß abgeschlossen wurde, können Sie das Verzeichnis löschen /var/lib/mysqlund die Datenbank neu initialisieren.

Das --initializeFlag bewirkt, dass MySQL einen Root-Benutzer und ein zufälliges Kennwort generiert, das dann in die Protokolldatei geschrieben wird. Weitere Informationen finden Sie unter man mysqld.

Jos
quelle
5

Überprüfen Sie zuerst die Version von MySQL mit mysql --version.

Wenn Sie Version 5.7.6 oder höher haben, wird das Datenverzeichnis automatisch initialisiert und muss nicht ausgeführt werden sudo mysql_install_db.

Weitere Informationen zur Installation von MySQL auf dem DigitalOcean-Server finden Sie unter https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-14-04

Faisal M.
quelle