Kennwort für den mysql-Benutzer "root" kann nicht festgelegt werden

16

Ich bin neu in Ubuntu. Ich verwende Ubuntu 12.10. Ich versuche, Apache, PHP, MySQL zu installieren. Allerdings habe ich Apache installiert und es läuft einwandfrei.

sudo apt-get install apache2

Aber als ich versuchte, mysql mit folgendem Befehl zu installieren

sudo apt-get install mysql-server 

Nach dem Download wurde nach dem Passwort gefragt, aber nach der Eingabe und Bestätigung des Passworts. Ich bekomme folgende Fehlermeldung.

Kennwort für den Mysql-Benutzer "root" kann nicht festgelegt werden

Beim Festlegen des Kennworts für mysql ist ein Fehler aufgetreten
Dies kann daran liegen, dass das Konto bereits ein Kennwort hat oder ein Kommunikationsproblem mit dem MySQL-Server vorliegt.
Sie sollten das Kennwort des Kontos nach der Paketinstallation überprüfen.
Weitere Informationen finden Sie in der Datei /usr/share/doc/mysql-server-5.5/README.Debian.

Nach dem Klicken auf die Schaltfläche OK in der Eingabeaufforderung wird die folgende Meldung auf dem Terminal angezeigt

Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing mysql-server-5.5 (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
mysql-server-5.5
E: Sub-process /usr/bin/dpkg returned an error code (1)

MySQL-Fehlerprotokoll sagt

130209 14:26:37 [Note] Plugin 'FEDERATED' is disabled.
130209 14:26:37 InnoDB: The InnoDB memory heap is disabled
130209 14:26:37 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130209 14:26:37 InnoDB: Compressed tables use zlib 1.2.7
130209 14:26:37 InnoDB: Using Linux native AIO
mysqld: Can't create/write to file '/tmp/ibNuz7q0' (Errcode: 13)
130209 14:26:37  InnoDB: Error: unable to create temporary file; errno: 13
130209 14:26:37 [ERROR] Plugin 'InnoDB' init function returned error.
130209 14:26:37 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
130209 14:26:37 [ERROR] Unknown/unsupported storage engine: InnoDB
130209 14:26:37 [ERROR] Aborting

Ich habe nach diesem Problem gesucht, aber nichts hat bei mir funktioniert. Bitte helfen Sie.

Devendra Verma
quelle
1
Überprüfen Sie, ob Sie mysql-serverbereits installiert haben ps -e | grep mysqld. Wenn Sie eine Ausgabe sehen, bedeutet dies, dass diese bereits installiert ist.
Grün
Ich erhalte dafür keine Ausgabe
Devendra Verma
Der von Ihnen gepostete MySQL-Fehler könnte auf ein Problem mit Ihrem hindeuten /etc/mysql/my.cnf. Wenn Sie diese Datei oder eine andere Datei im Verzeichnis / etc / mysql geändert haben, stellen Sie die Originale wieder her und versuchen Sie es erneut.
Richard Ayotte
Nathan, ich stehe in diesem Beitrag vor dem gleichen Problem und habe bereits die gleichen Anweisungen befolgt wie green7 und auch deins. Ich kann nicht einmal verstehen, warum MySQL nicht mehr funktioniert. Ich würde mich freuen, wenn Sie mir weiterhelfen könnten. Bearbeiten: Nur um Sie wissen zu lassen, dass all das passiert ist, weil ich beim Versuch, mysql zu installieren, aus dem Nichts heraus die folgende Meldung erhalten habe: FEHLER: 1146 Tabelle 'mysql.user' existiert nicht Vielen Dank im Voraus.
kann wegen schlechten Rufs nicht antworten. Diese Zusammenfassung funktioniert für mich gist.github.com/ervinb/63138a504da11a9c27af
gayavat

Antworten:

25

Das gleiche Problem beim Festlegen des Root-Passworts ist hier zu finden, möglicherweise verursacht durch eine nicht erfolgreiche manuelle Installation von mysql server 5.6 zuvor. Eine gründliche Deinstallation von MySQL ist keine leichte Aufgabe. Ich habe stundenlang gesäubert / neu installiert und es dann endlich gelöst mit

sudo dpkg --purge mysql-client-core-5.5 # or alternative version
sudo dpkg --purge mysql-client
sudo dpkg --purge mysql-server-core-5.5 # or alternative version
sudo dpkg --purge mysql-common

Grundsätzlich tippe ich einfach

sudo dpkg --purge mysql # followed by two tabs

Anschließend werden --purgealle Pakete vom Terminal automatisch vervollständigt. Purge mysql-commonzuletzt wegen einiger Abhängigkeitsprobleme.

Verwenden Sie dpkgzusätzlich zu die obigen Befehle

sudo apt-get --purge remove mysql-server
sudo apt-get --purge remove mysql-client
sudo apt-get --purge remove mysql-common
sudo apt-get autoremove
sudo apt-get autoclean

Auch ich habe Greqs Methode ausprobiert

sudo rm -rf /etc/mysql

Entfernen Sie den mysql-Ordner aus / var / lib

sudo rm -rf /var/lib/mysql/

Überprüfen Sie an dieser Stelle, ob mysql vollständig entfernt wurde

which mysql
mysql --version

Der erste sollte keine Ausgabe anstelle eines Ordners zurückgeben. Die zweite sollte zurückgeben, dass mysql nicht anstelle einer Versionsnummer installiert ist. Andernfalls ist die Entfernung immer noch unvollständig.

Die Bedeutung von dpkg --purgeist, wenn apt-getallein verwendet, which mysqlundmysql --version verhält mysql immer noch da ist.

Konfigurieren Sie dpkg vor der Neuinstallation neu und aktualisieren Sie es

sudo dpkg --configure -a
sudo apt-get update

Problem endlich gelöst. Hoffe, es wird für andere Menschen hilfreich sein.

Sophia Feng
quelle
3
In meinem Fall, wenn: sudo dpkg --purge mysql-common Es schlägt fehl mit: dpkg: Abhängigkeitsprobleme verhindern das Entfernen von mysql-common: mysql-client-5.5 hängt von mysql-common ab (> = 5.5.35-0ubuntu0.12.04. 2). libmysqlclient18 hängt von mysql-common ab (> = 5.5.35-0ubuntu0.12.04.2). dpkg: Fehler beim Bearbeiten von mysql-common (--purge): Abhängigkeitsprobleme - nicht zu entfernen Fehler traten bei der Verarbeitung: mysql-common
ses
Das hat auch bei mir geklappt.
Michael Lindman
Ich habe einige Zeit nach einer Anleitung gesucht, die die Situation vollständig lösen könnte. Das hat genauso funktioniert wie beschrieben. Vielen Dank.
Matt Setter
Hat für mich gearbeitet, danke Mann! Es ist schade, dass Linux bei der Platzierung von Dateien einen so chaotischen Job macht!
Southerton
arbeitete schließlich für mich. Ich denke, ein Neustart nach all dem, was mir vielleicht geholfen hat, durchzukommen!
Danimal
5

Sie müssen mysql vollständig entfernen. Glaub mir, ich habe es versucht. dpkg macht das nicht alleine.

Sehen

/programming/10853004/removing-mysql-5-5-completely

Wenn du es eilig hast

sudo service mysql stop  #or mysqld
sudo killall -9 mysql
sudo killall -9 mysqld
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo deluser mysql
sudo rm -rf /var/lib/mysql
sudo apt-get purge mysql-server-core-5.5
sudo apt-get purge mysql-client-core-5.5
Pedro Braconnot
quelle
Sie, mein Herr, sind ein Held! Ich habe stundenlang gegoogelt und die verschiedenen Ratschläge überall ausprobiert, und nur Ihre haben tatsächlich funktioniert! Ich denke, der Unterschied liegt im Löschen des MySQL-Benutzers, da ich die meisten anderen Optionen bereits ausprobiert habe. PS: Ich musste kill -9mehrere Prozesse ausführen, bevor der deluser mysqlBefehl erfolgreich ausgeführt wurde.
Shautieh
3

Ich denke, der Grund dafür ist, dass Sie mysqlnicht auf Ihre zugreifen können/tmp/ Verzeichnis , wie es in der Zeile heißt

mysqld: Kann die Datei '/ tmp / ibNuz7q0' nicht erstellen / in diese schreiben (Errcode: 13)

Führen Sie die folgenden Befehle in einem Terminal aus:

sudo su
chown root: root / tmp
chmod 1777 / tmp
/ usr / sbin / mysqld &

Erklärung :

  • sudo su: Zum Ausführen der folgenden Befehle als root.
  • chown root:root /tmp: Machen Sie den Benutzer rootder rootGruppe zum Eigentümer von /tmp.
  • chmod 1777 /tmp: Ändern Sie die Berechtigungen von /tmpso, dass alle Benutzer darauf zugreifen können und nur der Eigentümer oder der Benutzer rootdie Dateien in diesem Verzeichnis löschen kann. (Mehr zu Dateiberechtigungen hier )
  • /usr/sbin/mysqld &: Starten Sie den mysqldDaemon.
Grün
quelle
Nach Eingabe des letzten Befehls erhalte ich die folgende Meldung: # /etc/init.d mysqld start bash: /etc/init.d: ​​Ist ein Verzeichnis
Devendra Verma
hat die Antwort geändert
grün
Ich erhalte diese Ausgabe nach / usr / sbin / mysqld & / usr / sbin / mysqld & [1] 3497. Wie überprüfe ich, ob MySQL ausgeführt wird?
Devendra Verma
Um zu überprüfen, ob Ihr MySQL läuft, führen ps -e | grep mysqldSie es aus , und wenn Sie eine Ausgabe erhalten, läuft es einwandfrei.
Grün
danke @ green7 hier ist der ausgang ps -e | grep mysqld 1075? 00:00:04 mysqld
Devendra Verma
2

Ich habe letzte Nacht mehrere Stunden damit gerungen und alles gelesen, was Google über das Problem in seinem Index hat.

Ich habe mysql 20 mal neu installiert. Das ist wahrscheinlich eine buchstäbliche Zahl.

Schließlich hat einer von diesen oder beide das Problem behoben (nach der Deinstallation / Bereinigung / dem Brennen von MySQL):

  1. sudo rm -rf /etc/mysql (Dies wurde nach der Säuberung nicht entfernt)
  2. Ich habe dann den Server heruntergefahren und die Größe meiner VM-Instanz von 512 MB auf 1 GB (RAM) geändert.

Danach lief ich sudo aptitude install mysql-serverund es wurde endlich erfolgreich installiert:

$ sudo aptitude install mysql-server
[sudo] password for [REDACTED]: 
The following NEW packages will be installed:
  libdbd-mysql-perl{a} libmysqlclient18{a} mysql-client-5.5{a} mysql-common{a} mysql-server mysql-server-5.5{a} mysql-server-core-5.5{a} 
0 packages upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 8,589 kB of archives. After unpacking 94.6 MB will be used.
Do you want to continue? [Y/n/?] Y
Get: 1 http://ftp.us.debian.org/debian/ wheezy/main mysql-common all 5.5.31+dfsg-0+wheezy1 [85.3 kB]
Get: 2 http://ftp.us.debian.org/debian/ wheezy/main libmysqlclient18 amd64 5.5.31+dfsg-0+wheezy1 [687 kB]
Get: 3 http://ftp.us.debian.org/debian/ wheezy/main libdbd-mysql-perl amd64 4.021-1+b1 [126 kB]
Get: 4 http://ftp.us.debian.org/debian/ wheezy/main mysql-client-5.5 amd64 5.5.31+dfsg-0+wheezy1 [1,923 kB]
Get: 5 http://ftp.us.debian.org/debian/ wheezy/main mysql-server-core-5.5 amd64 5.5.31+dfsg-0+wheezy1 [3,784 kB]
Get: 6 http://ftp.us.debian.org/debian/ wheezy/main mysql-server-5.5 amd64 5.5.31+dfsg-0+wheezy1 [1,900 kB]
Get: 7 http://ftp.us.debian.org/debian/ wheezy/main mysql-server all 5.5.31+dfsg-0+wheezy1 [83.6 kB]
Fetched 8,589 kB in 2s (3,068 kB/s)
Preconfiguring packages ...
Selecting previously unselected package mysql-common.
(Reading database ... 52430 files and directories currently installed.)
Unpacking mysql-common (from .../mysql-common_5.5.31+dfsg-0+wheezy1_all.deb) ...
Selecting previously unselected package libmysqlclient18:amd64.
Unpacking libmysqlclient18:amd64 (from .../libmysqlclient18_5.5.31+dfsg-0+wheezy1_amd64.deb) ...
Selecting previously unselected package libdbd-mysql-perl.
Unpacking libdbd-mysql-perl (from .../libdbd-mysql-perl_4.021-1+b1_amd64.deb) ...
Selecting previously unselected package mysql-client-5.5.
Unpacking mysql-client-5.5 (from .../mysql-client-5.5_5.5.31+dfsg-0+wheezy1_amd64.deb) ...
Selecting previously unselected package mysql-server-core-5.5.
Unpacking mysql-server-core-5.5 (from .../mysql-server-core-5.5_5.5.31+dfsg-0+wheezy1_amd64.deb) ...
Processing triggers for man-db ...
Setting up mysql-common (5.5.31+dfsg-0+wheezy1) ...
Selecting previously unselected package mysql-server-5.5.
(Reading database ... 52616 files and directories currently installed.)
Unpacking mysql-server-5.5 (from .../mysql-server-5.5_5.5.31+dfsg-0+wheezy1_amd64.deb) ...
Selecting previously unselected package mysql-server.
Unpacking mysql-server (from .../mysql-server_5.5.31+dfsg-0+wheezy1_all.deb) ...
Processing triggers for man-db ...
Setting up libmysqlclient18:amd64 (5.5.31+dfsg-0+wheezy1) ...
Setting up libdbd-mysql-perl (4.021-1+b1) ...
Setting up mysql-client-5.5 (5.5.31+dfsg-0+wheezy1) ...
Setting up mysql-server-core-5.5 (5.5.31+dfsg-0+wheezy1) ...
Setting up mysql-server-5.5 (5.5.31+dfsg-0+wheezy1) ...
Stopping MySQL database server: mysqld.
131124 15:39:56 [Note] Plugin 'FEDERATED' is disabled.
131124 15:39:56 InnoDB: The InnoDB memory heap is disabled
131124 15:39:56 InnoDB: Mutexes and rw_locks use GCC atomic builtins
131124 15:39:56 InnoDB: Compressed tables use zlib 1.2.7
131124 15:39:56 InnoDB: Using Linux native AIO
131124 15:39:56 InnoDB: Initializing buffer pool, size = 128.0M
131124 15:39:56 InnoDB: Completed initialization of buffer pool
131124 15:39:56 InnoDB: highest supported file format is Barracuda.
131124 15:39:56  InnoDB: Waiting for the background threads to start
131124 15:39:57 InnoDB: 5.5.31 started; log sequence number 1595675
131124 15:39:57  InnoDB: Starting shutdown...
131124 15:39:58  InnoDB: Shutdown completed; log sequence number 1595675
Starting MySQL database server: mysqld ..
Checking for tables which need an upgrade, are corrupt or were 
not closed cleanly..
Setting up mysql-server (5.5.31+dfsg-0+wheezy1) ...
Greg
quelle
1

Tippe ein, sudo apt-get purge mysql-server && sudo apt-get install mysql-serverwenn das nicht funktioniert, hinterlasse bitte einen Kommentar zu meiner Antwort und ich werde mit dir zusammenarbeiten, um dieses Problem zu lösen.

Nathan Suchy
quelle
0

Die Installationsskripte für alle Ubuntu-Versionen nach 12.04 folgen nicht dem gleichen Installationsprozess wie 12.04. In 12.04 werden Sie explizit aufgefordert, das MySQL-Passwort während der Installation festzulegen. Für 12.10 und später werden Sie einfach nach dem mysql-root-Passwort gefragt, aber wie lautet dieses Passwort? Das Installationsskript ist ein Schritt zurück. Ich empfehle 12.04 in einer virtuellen Maschine zu installieren und dort mysql zu installieren. Wenn Sie wie ich sind und dies in Verbindung mit Drupal verwenden, bleiben Sie auf jeden Fall bei 12.04.

Gary
quelle
0

Andere Lösung für diejenigen, die noch Probleme haben. Hoffentlich kann ich denen helfen, die versuchen, Mysql neu zu installieren. Beachte, es ist eine Mission zum Suchen und Zerstören. Also sei müde. Angenommen, Ihre Wurzel:

apt-get purge mysql*
apt-get purge dbconfig-common #the screen used for mysql password
find / -name *mysql*          #delete any traces of mysql
#insert apt-get cleanups, autoremove,updates etc.

Ursprünglich störte etwas, was übrig blieb, meinen Start von mysqlserver-5.5. Diese Befehle haben das Problem für mich gelöst.

mastash3ff
quelle