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.
mysqld --initialize
?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
/var/lib/mysql
umgehen , indem Sie das Verzeichnis löschen und den--initialize
Vorgang erneut ausführen .Antworten:
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 Befehlmysqld --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/mysql
und die Datenbank neu initialisieren.Das
--initialize
Flag bewirkt, dass MySQL einen Root-Benutzer und ein zufälliges Kennwort generiert, das dann in die Protokolldatei geschrieben wird. Weitere Informationen finden Sie unterman mysqld
.quelle
Ü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
quelle