MySQL startet nicht!

47613
Andrew

Diese Fehlermeldung wird angezeigt, wenn Sie versuchen, sich über die Befehlszeile bei MySQL anzumelden:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 

Ich denke, das bedeutet, dass MySQL noch nicht gestartet wurde. Also versuche ich es zu starten:

sudo /etc/init.d/mysql start 

und ich bekomme diese Nachricht:

* Starting MySQL database server mysqld [fail] 

Wo schaue ich nach / was mache ich, damit MySQL startet? Ich verwende Ubuntu 8.04 und installierte MySQL über apt-get. Ich habe es in der Lage bekommen, es zu starten und habe es ein paar Mal verwendet, daher weiß ich nicht, warum es einfach nicht mehr funktioniert.

Update: Beim Ausführen von sudo /etc/init.d/mysql status erhalte ich die Meldung:

* MySQL is stopped. 

Update Nr. 2: Meine Protokolldateien (/var/log/mysql.log & /var/log/mysql.err) sind leer (falls dies die richtigen sind)

11
Was passiert, wenn Sie den Status sudo /etc/init.d/mysql haben emgee vor 15 Jahren 0

10 Antworten auf die Frage

10
toystory

On Ubuntu 12.04 I had this same problem after changing buffer sizes in /etc/mysql/my.cnf file, I think I got a little carried away. Anyway after trying to change them back to the default setting MySQL still would not start.

I tried several different methods to get it resolved, I did notice that /var/run/mysql/mysql.sock was missing. This could be an issue so you may check there and if its missing you can replace it by doing the following:

sudo touch /var/run/mysql/mysql.sock sudo chown mysql /var/run/mysql/mysql.sock 

This did NOT fix the problem for me! But it may for some.

What I had to do was completely reinstall MySQL, to do this you will need to use the sudo command. The steps to completely removing and reinstalling MySQL are as follows:

Remove MySQL

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

Optionally you may use aptitude, by replacing apt-get --purge with aptitude

Clean UP

sudo apt-get autoremove sudo apt-get autoclean 

Remove MySQL dir

sudo rm -rf /etc/mysql 

Install MySQL

sudo apt-get install mysql-server mysql-client 

MySQL should now be running, you can check this by doing the following:

sudo service mysql status 

You should see

mysql start/running, process xxxxx 

Hope this helps, and thought I might add after doing this all my databases and tables where still available, however I did have to recreate the users and passwords for those databases.

Note: If you had mysql extension for php, you will need to reinstall this too.

sudo apt-get install php5-mysql 
Das funktionierte für mich, aber ich musste es ändern in: `sudo touch / var / run / mysqld / mysqld.sock` und ich fand es am Ende des` / var / log / syslog` heraus (zB zu mysqld) Programster vor 10 Jahren 0
Ist es `/ var / run / mysqld` oder` / var / run / mysql`? CMCDragonkai vor 9 Jahren 0
3
lilott8

WARNUNG: Dies ist gefährlich, Ihr mysql ist NICHT sicher und jeder kann Ihre Tabellen verbinden, bearbeiten usw., lassen Sie Ihren Server nicht mit diesem Befehl laufen.

Versuchen Sie es im abgesicherten Modus zu starten: /usr/local/mysql/bin/safe_mysqld --user=mysql --skip-grant-tables

Wenn dies funktioniert, können Probleme mit Ihrem information_schema oder Ihren MySQL-Tabellen auftreten. Wenn es nicht funktioniert, stimmt etwas nicht mit Ihrer Installation.

Das ist gut, es gibt detaillierte Fehler in syslog. Der Befehl hat sich geändert, unter Ubuntu 12.04 heißt es "sudo / usr / bin / mysqld_safe --user = mysql --skip-grant-tables" newz2000 vor 12 Jahren 1
3
afit

Überprüfen Sie Ihre Protokolldateien wie in den anderen Antworten. Überprüfen Sie auch, ob Sie über ausreichend Speicherplatz verfügen. MySQL kann sich auf einer leeren Partition so verhalten.

df -h

Ist dies nicht der Fall, lesen Sie die MySQL-Dokumentation zum Debuggen eines Servers . Ihre myisamchk(wenn Sie MyISAM verwenden) ist besonders nützlich.

3
user143757

Ich habe dieses Problem kürzlich auch nach dem Update von Ubuntu bekommen. Noch nicht sicher, was genau das Problem ist. Ein Worakround, das für den Moment funktionierte, um Mysql zum Laufen zu bringen, war:

sudo aa-complain /etc/apparmor.d/*mysql* 

Damit funktioniert es, was darauf hinweist, dass apparmor die Ausführung von mysql gestoppt hat, und erklärt, warum die Protokolle möglicherweise ebenfalls leer sind: mysql durfte nicht ausgeführt werden.

Es bleibt ein seltsames Problem, da bisher keine "Beschwerden" in diesem Bereich vorhanden /var/log/apparmorsind und der einzige Audit-Eintrag in kern.log darin besteht, das Profil in den Beschwerdemodus zu ändern.

Beachten Sie, dass ich dabei auch eine (leere) /etc/apparmor.d/local/usr.sbin.mysqlDatei hinzugefügt habe, da der befohlene aa-complain sich beschwert hat, diese Datei nicht gefunden zu haben.

Vielen Dank! Nachdem ich mir beinahe die Haare aus dem Haar gerissen hatte, wurde das endlich behoben. Olathe vor 11 Jahren 0
3
samwize

Ich hatte das gleiche Problem mit meinem 512MB Digital Ocean Droplet.

Es stellte sich heraus, dass der Speicher nicht ausreicht.

Eine sofortige Lösung besteht darin, andere Dienste neu zu starten, um Speicher freizugeben, z.

sudo service apache2 restart 

Dann sollten Sie hoffentlich mit genügend Speicherplatz in der Lage sein, mysql neu zu starten

sudo service mysql restart 

Die langfristige Lösung besteht darin, entweder mehr RAM zu erhalten oder Auslagerungsspeicher zu erstellen .

2
innaM

Sehen Sie sich Ihre Protokolldateien an. Zumindest unter Debian erhalten Sie mysql * logs /var/log.

mysql.err und mysql.log sind beide leer Andrew vor 15 Jahren 3
1
boatcoder

Hatte das gleiche Problem, stellte sich heraus, dass mir die Lösung ins Gesicht starrte. Die Fahrt war voll. Sie erhalten keine Protokolle, da sie nicht geschrieben werden können.

0
Programster

Das gleiche Problem plagte mich schon seit Ewigkeiten auf einem Ubuntu 12.04 Digital Ocean VPS, auf dem mysql 5.6 von einem PPA installiert wurde. Die Symptome waren die, bei denen die mysql.sock-Datei /var/run/mysqld/mysql.sockentfernt wurde, aber nie neu erstellt wurde. Daher musste ich die folgenden Befehle jedes Mal manuell ausführen, wenn mysql aktualisiert oder der Server neu gestartet wurde:

sudo touch /var/run/mysqld/mysql.sock sudo chown mysql /var/run/mysqld/mysql.sock 

Dies war aus der Antwort von Kyle C. (außer bei mysqld anstelle von mysql). Am Ende habe ich auf mysql 5.5 heruntergestuft, was dann der Fall ist, wenn Sie normalerweise einen sudo apt-get install mysql-serverBefehl ausführen würden . Es war jedoch nicht einfach, also musste ich folgendes tun:

# Manually get mysql running if it is not sudo touch /var/run/mysqld/mysql.sock sudo chown mysql /var/run/mysqld/mysql.sock sudo service mysql start  # take a dump of all databases  # we are going to remove the mysql files so don't skip this) mysqldump -u root -p > all-databases.sql  # Completely remove mysql sudo apt-get remove --purge mysql-server mysql-client mysql-common sudo apt-get autoremove sudo apt-get autoclean  # Remove mysql 5.6 from debs (otherwise it will reinstall 5.6) rm /etc/apt/sources.list.d/ondrej-(mysql something please check)  # remove a flag that would prevent the installation # because it is seen as a downgrade sudo rm /var/lib/mysql/debian-5.6.flag  # I had to remove the mysql files as well # reference http://ubuntuforums.org/showthread.php?t=1998260&page=3 rm -rf /var/lib/mysql rm -rf /etc/mysql*  # Install mysql sudo apt-get install mysql-server mysql-client mysql-common php5-mysql  # manually update the all-databases.sql file and  # remove all STATS_PERSISTENT clauses on table creation statments  # re import the databses mysql -u root -p < all-databases.sql  # restart apache sudo service apache2 restart  # at this point my wordpress site stated error connecting to database. # This was resolved by logging into mysql and running: FLUSH PRIVILEGES 

Hoffentlich hilft dies jemandem, der dieselben Schmerzen hat.

0
dGo

Das könnte anderen helfen ... also hier ist es.

Ich wollte mein MySQL 5.5 (Ubuntus Standard) auf das neue 5.7 migrieren
(wollte mit dem neuen nativen JSON-Typ spielen)

Ich habe die Anweisungen befolgt, um die neueste Version zu installieren ...
aber MySQL wollte nicht starten.

Verbrachte einige Zeit damit und fand diese Zeile in der /var/log/mysql/errors.log:

unknown variable 'key_buffer=16M'

und das ist etwas, was darin gesetzt ist, /etc/mysql/my.cnfdass ich mich während des Upgrades dafür entschieden habe.

Also, ganz einfach danach:
ersetzt meinen my.cnfmit my.cnf.dpkg-distVersion im selben Verzeichnis befindet ...

Dann musste er laufen

sudo mysql_upgrade -u root -p sudo service mysql restart

und jetzt ist MySQL wieder betriebsbereit

0
Kdansky

Eine andere Variante gefunden, was falsch sein kann. Ich habe das Datenverzeichnis verschoben und stellte fest, dass ich vergessen habe, das Verzeichnis für den mysql-Benutzer zu ändern, was ebenfalls ohne jegliche Ausgabe fehlschlägt. Offensichtlich falsch im Nachhinein, aber das Fehlen einer Fehlermeldung macht es schwierig, jedes triviale Problem zu finden.