Hej!
Jag satt igår kväll och arbetade med mitt drupal7-projekt. Försökte få in en WYSIWYG-editor. Först installerade jag modulen, och därefter CKEDITOR. Ställde in så den skulle användas på rätt ställe, och applicerade inställningarna. Därefter fick jag bara vita sidor så fort jag skulle in och skapa något eller redigera i något.
Avinstallerade modulen, tog bort. Men sedan började mer krångla. Kom på tanken att starta om webbservern då jag helt plötsligt ej fick kontakt. Startade då om hela VPS-en, och nu kan jag inte ansluta till databasen. Den är igång, men jag får bara felmeddelanden.
"Got error: 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) when trying to connect" i terminalen. Och genom drupal "PDOException: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (13) in lock_may_be_available() (line 163 of /var/www/includes/lock.inc)."
Så nu står jag handfallen och vet ej vad jag ska göra. Har tyvärr ingen backup av databasen (ej hunnit att börja ställa in sådan ännu). Vad är alternativen. Ta bort allt och installera om? - Kan jag då skapa en backup trots att jag ej kommer åt den via någon form av inloggning? Går det att reparera?
Servern är så vitt jag förstår igång, så det verkar vara någon inställningsgrej som är galet.
Några tips?
//Markus

Comments
Databas nere
Är du helt säker på att MySQL körs? Dubbelkolla det med kommandot:
Eller testa att köra igång den och se vad du får tillbaka:
Säkerställ att den verkligen körs först, så kan vi hjälpa till att felsöka sedan. :)
Tobias Sjösten
Verkar vara nere
Detta får jag när jag kör första kommandot:
ps aux | grep -i mysql
root 6068 0.0 0.1 1788 564 pts/0 S+ 08:56 0:00 grep --color=auto -i mysql
Så något verkar vara på, om jag tolkar det rätt.
Det andra kommandot ger:
ERROR: Unsupported option (BSD syntax)
Har en ubuntu-server. BSD-syntax?
Om du tittar så är andra
Om du tittar så är andra halvan av ditt kommando nästan identisk med sista delen i svaret, den visar bara din egen process som kördes för att leta, så tyvärr har du ingen mysql körandes på din server.
fundersam
Jaha!
Jag provar lite blandat och får detta:
service mysql start &
[1] 1585 start: Job is already running: mysql
ps aux | grep -i mysql
root 1747 0.0 0.1 1788 564 pts/0 S+ 09:15 0:00 grep --color=auto -i mysql
[1]+ Exit 1 service mysql start
/etc/init.d/mysql start
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysqlstart
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mysql
start: Job is already running: mysql
start mysql
start: Job is already running: mysql
MySQL verkade inte köras.
MySQL verkade inte köras. Denna output:
... visar att den enda process som matchar "mysql" är grep själv.
Jag råkade visst skriva lite fel i det andra kommandot, för att starta tjänsten. Det ska vara:
Och inget annat. :) Det fungerar fint på Ubuntu och service ser själv till att köra processen i bakgrunden, så du behöver inget avslutande &-tecken.
Testa det igen och om den säger att MySQL faktiskt körs så kollar du ps aux.
Du kan även testa att logga in med MySQL-klienten:
Den defaultar till att ansluta till localhost på standardporten. Tänk dock på att den alltid frågar efter lösenord, oavsett om den får en anslutning eller inte. Så knappa in lösenordet och se vad som händer sedan.
Tobias Sjösten
Provar vidare
$ sudo service mysql start
start: Job is already running: mysql
$ ps aux | grep -i mysql
root 26337 0.0 0.1 1788 560 pts/0 S+ 09:49 0:00 grep --color=auto -i mysql
$ mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
felsökning
Jag har provat lite mer.
Installerade om det mesta. Fick igång det hela, och gjorde sedan en reboot av servern. Samma fel uppkommer.
Kan det ge någon ledtråd? Verkar som om mysql sparar på något konstigt ställe, eller helt enkelt inte går igång som det ska vid en reboot.
Rätt drygt, vill ju kunna boota om servern. Måste vara någon inställning som är galen.
//Markus
lösningen närmar sig
Jag körde nu:
sudo /etc/init.d/mysql start
och det hela gick igång och fungerar igen. Hur säkerställer jag att ftp, apache, mysql, phpmyadmin osv startar igång ordentligt?
//Markus
Om du har initscriptet
Om du har initscriptet /etc/init.d/mysql så borde MySQL autostarta vid boot. Det låter som att du har en del andra konstiga symptom med din maskin, som att service säger att MySQL körs när det inte gör det. Kanske är det relaterat. Vet du om du gjort något som kan ha påverkat det här?
Tobias Sjösten
vet inte
Jag måste säga att jag faktiskt inte vet alls vad det kan vara. Har provat att göra om hela proceduren från början, installerat om hela systemet, in med allt igen. Får igång drupal, testar att starta om. Samma fel. Efter manuell uppstart av mysql så går det att komma in igen.
Detta är sjukt märkligt.
vet inte
Så värst sjukt märkligt tror jag inte felet är. Det har ganska litet med Drupal att göra hur som helst. Det handlar om att mysqld-servern inte startar vid uppstart av din server. En server startas ju inte om speciellt ofta så du skulle ju kunna skjuta på det här problemet och fokusera på byggandet av din Drupal sajt istället om du vill.
Annars får du söka lite efter vilka inställningar du behöver göra för den Linux-distribution och version du kör alternativt beskriva mer i detalj för oss vilket system du kör. Loggfiler för t.ex. mysql kan också vara en idé att kika i. Vidare kanske även den du hyr VPS-tjänsten från hjälpa dig om det nu är en sådan lösning du valt.
Lycka till!
/Jakob Ruhe
Jag är med dig i ditt
Jag är med dig i ditt resonemang Jakob!
Fokuserar på siten i första hand.
Tack!
//Markus