webForumDet fria alternativet

MySQL vägrar starta.

31 svar · 1 158 visningar · startad av Danne V

Danne VMedlem sedan aug. 20068 090 inlägg
#1

Har inte haft några problem med detta tidigare. Har heller inte joxat med systemet mer än uppdaterat till 10.4.11.

Men nu vill inte MySQL starta.

Jag har reparerat permissions, men misstänker ändå att det är nån fil nånstans kanske i "tmp"?) som har fel ownership eller nåt. Dilemmat är att jag inte har en susning om vad dom egentligen ska vara.

Problemet KAN ha uppkommit efter att jag reparerade permissions från en annan skiva för nån vecka sedan.

Är det någon som har ett vettigt förslag på vad som kan vara orsaken?

GeinMedlem sedan sep. 20005 700 inlägg
#2

Kollat loggfilen?

Danne VMedlem sedan aug. 20068 090 inlägg
#3

Gein skrev:

Kollat loggfilen?

Ja, alla, men hittar inget om MySQL alls.
Spelar ingen roll om jag försöker starta med Prefrence Panen i systeminställningarna eller med terminalen.

Jag har ett dunkelt minne av att jag råkade ut för detta för 2-3 år sen och att det var nåt med "socket" kopplingen, nån sökväg som hade ändrats i samband med en uppdatering...typ....ungefär..... :OO

RED: Kan detta vara något:
Jan 2 13:56:23 localhost launchd: Server 2f27 in bootstrap 1103 uid 0: "/usr/sbin/lookupd"[62]: exited abnormally: Hangup

Det är i alla fall servern som verkar ha bekymmer. "Exited abnormally" betyder ju att något stängdes ner p.g.a. abnormalitet.... fasen, jag har ju inte kollat om själva Apache funkar... hang on....

Jodå, servern funkar. Vanliga statiska sidor levereras OK.

GeinMedlem sedan sep. 20005 700 inlägg
#4

MySQL har väl en egen loggfil någonstans? /var/log/mysqld.log?

Kanske ligger det en sock-fil och låser? /tmp/mysql.sock
Om den existerar, prova att ta bort den.

GislavedMedlem sedan nov. 20041 740 inlägg
#5

Hur gör du för att starta MySQL?

Danne VMedlem sedan aug. 20068 090 inlägg
#6

Gein skrev:

MySQL har väl en egen loggfil någonstans? /var/log/mysqld.log?

Nej, har ingen sån fil - i alla fall inte där. Ska den heta så?

Gein skrev:

Kanske ligger det en sock-fil och låser? /tmp/mysql.sock
Om den existerar, prova att ta bort den.

Nej, ingen fil "mysql.sock" där. Däremot i var/mysql/
Men den är helt tom.... ska den vara det?

Danne VMedlem sedan aug. 20068 090 inlägg
#7

Gislaved skrev:

Hur gör du för att starta MySQL?

Den ska egentligen starta vid systemuppstart.
Har en kontrollpanel med startknapp också - funkar ej (får till slut badbollen).
Har provat med terminalen - hjälper inte heller.

sl0kMedlem sedan maj 2005562 inlägg
#8

Kolla i /etc/my.cnf under [mysqld] (men även [client]) vilken socket den använder.
Se sen till att användaren mysql har rättigheter att skriva och läsa dit.

Mysql har loggfiler i /usr/local/mysql/data och de heter nåt i stil med dittdatornamn.lan.err

Danne VMedlem sedan aug. 20068 090 inlägg
#9

sl0k skrev:

Kolla i /etc/my.cnf under [mysqld] (men även [client]) vilken socket den använder.
Se sen till att användaren mysql har rättigheter att skriva och läsa dit.

Mysql har loggfiler i /usr/local/mysql/data och de heter nåt i stil med dittdatornamn.lan.err

Det där var konstigt....

/etc/my.cnf finns som fil, men upptar 0 (noll!) Kb på disken och innehåller ingenting när man öppnar det. Nada. Zilch.

Loggfil fanns mycket riktigt i /usr/local/mysql/data. Men senaste gången något var skrivet i dokumentet var 28 februari 2006.

GeinMedlem sedan sep. 20005 700 inlägg
#10

Danne V skrev:

Nej, har ingen sån fil - i alla fall inte där. Ska den heta så?

Nej, ingen fil "mysql.sock" där. Däremot i var/mysql/
Men den är helt tom.... ska den vara det?

Ja, den ska vara tom. Men borde inte finnas där om MySQL inte är igång.

Danne V skrev:

Det där var konstigt....

/etc/my.cnf finns som fil, men upptar 0 (noll!) Kb på disken och innehåller ingenting när man öppnar det. Nada. Zilch.

Loggfil fanns mycket riktigt i /usr/local/mysql/data. Men senaste gången något var skrivet i dokumentet var 28 februari 2006.

my.cnf kan vara tom, behöver inte betyda något alls.
Att loggfilen inte uppdateras när du startar MySQL tyder på att det är fel loggfil. Finns det inte flera loggfiler till MySQL?
Vad händer om du försöker köra mysqld i terminal (lägg till korrekt sökväg till mysqld)?

Prova att flytta bort sock-filen (du behöver ju inte radera den).

sl0kMedlem sedan maj 2005562 inlägg
#11

Det kan även vara så att my.cnf finns i $datadir .. vanligtvis /usr/local/mysql/data/ .

locate my.cnf

borde visa vart du hittar den.

Vanligast är att mysql.sock finns i /var/mysql/mysql.sock eller /tmp/mysql.sock
Sätt mysql(lr vem som nu kör mysql) som ägare till /var/mysql/
och sen kan du

ln -s /var/mysql/mysql.sock /tmp/mysql.sock

Är alla loggfiler i /usr/local/mysql/data/ från 28 feb 06? Eller finns det några filer som är hyfsat nya?
Hur startar du mysql från terminalen ?

Danne VMedlem sedan aug. 20068 090 inlägg
#12

Ahhh... nu hittade jag i alla fall rätt loggfil. Här är felbeskrivningen:

080102 16:37:58 mysqld started
080102 16:37:59 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive
080102 16:37:59 InnoDB: Started; log sequence number 0 141636
080102 16:37:59 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
080102 16:37:59 mysqld ended

"Can't open" vaddå? Jag använder phpMyAdmin. Är det nånstans i "dens" filer som det ska finnas en "mysql.user"?

Danne VMedlem sedan aug. 20068 090 inlägg
#13

Gein skrev:

Ja, den ska vara tom. Men borde inte finnas där om MySQL inte är igång.

my.cnf kan vara tom, behöver inte betyda något alls.
Att loggfilen inte uppdateras när du startar MySQL tyder på att det är fel loggfil. Finns det inte flera loggfiler till MySQL?
Vad händer om du försöker köra mysqld i terminal (lägg till korrekt sökväg till mysqld)?

Prova att flytta bort sock-filen (du behöver ju inte radera den).

Jag tror att den hittade loggfilen kanske kan ge en fingervisning till problemet, så jag avvaktar...

Testade i alla fall att plocka undan mysql.sock men det hulpte inte.

För övrigt: Jag är värdelös på att jobba i terminalen. Jag gör det gärna, men då måste ni skriva som om jag är tre år gammal. :OO

sl0kMedlem sedan maj 2005562 inlägg
#14

Testa att köra

/usr/local/mysql/bin/mysql_install_db --user=mysql

som root, dvs först

sudo su

Möjligt att denna filen mysql_install_db inte finns i /usr/local/mysql/bin/ men kör i så fall

locate mysql_install_db

(även det som root)

Danne VMedlem sedan aug. 20068 090 inlägg
#15

sl0k skrev:

Testa att köra

/usr/local/mysql/bin/mysql_install_db --user=mysql

som root, dvs först

sudo su

Möjligt att denna filen mysql_install_db inte finns i /usr/local/mysql/bin/ men kör i så fall

locate mysql_install_db

(även det som root)

Ehhh... gärna. I terminalen då, alltså?
Där du skrivit "--user", ska det stå exakt så eller syftar du på mitt kontos användarnamn?

Jag är f.n. inloggad som root på datorn. Antar att det kanske kan vara bra att veta....

Fan... jag börjar bli hoppfull... Tack ska ni ha allesammans som hjälpt till så här långt!!!! (y) (y) (y)

sl0kMedlem sedan maj 2005562 inlägg
#16

Sen hittade jag även att det ligger exempel my.cnf i /usr/local/mysql/support-files/
så du kan testa att

cp /usr/local/mysql/support-files/my-small.cnf /etc/my.cnf

/red: Dvs att du kopierar ett exempel därifrån till /etc/my.cnf, det finns flera varianter men om du enbart använder mysql för utveckling så borde my-small.cnf räcka

sl0kMedlem sedan maj 2005562 inlägg
#17

Danne V skrev:

Ehhh... gärna. I terminalen då, alltså?
Där du skrivit "--user", ska det stå exakt så eller syftar du på mitt kontos användarnamn?

Det skall stå --user=mysql , för det är den användaren det sen körs som.

Danne V skrev:

är f.n. inloggad som root på datorn. Antar att det kanske kan vara bra att veta....

whoami

ger dig vilken användare du är i terminalen, kontrollera att det är root även där.

GeinMedlem sedan sep. 20005 700 inlägg
#18

Förväntar du dig att det ska finnas tabeller som du redan har? Isåfall verkar något fel med din sökväg till MySQL-tabellerna.

sudo /usr/local/mysql/bin/mysql_install_db --user=mysql

Ovan kommando skapar en ny tom mysql-databas (som krävs och uppenbarligen saknas i ditt fall).

Kör gärna

ls -al /usr/local/mysql/data/

så får vi se vad som finns där.
Kan det vara så att en annan sökväg har använts tidigare? T.ex. /var/db/mysql/

Danne VMedlem sedan aug. 20068 090 inlägg
#19

sl0k skrev:

Testa att köra

/usr/local/mysql/bin/mysql_install_db --user=mysql

som root, dvs först

sudo su

Möjligt att denna filen mysql_install_db inte finns i /usr/local/mysql/bin/ men kör i så fall

locate mysql_install_db

(även det som root)

Jag är totalt förvirrad nu... jätteglad för hjälp, men du skriver lite kryptiskt.
Körde i alla fall

sudo su /usr/local/mysql/bin/mysql_install_db --user=mysql

och fick svar

su: unknown login: /usr/local/mysql/bin/mysql_install_db

Hittade my_install_db. Men vad ska jag göra med den?

Danne VMedlem sedan aug. 20068 090 inlägg
#20

Gein skrev:

Förväntar du dig att det ska finnas tabeller som du redan har? Isåfall verkar något fel med din sökväg till MySQL-tabellerna.

sudo /usr/local/mysql/bin/mysql_install_db --user=mysql

Ovan kommando skapar en ny tom mysql-databas (som krävs och uppenbarligen saknas i ditt fall).

Nej. Bidde

sudo /usr/local/mysql/bin/mysql_install_db: command not found

Gein skrev:

Kör gärna

ls -al /usr/local/mysql/data/

så får vi se vad som finns där.

Ja där finns grejerna. Vad gör jag då?

Gein skrev:

Kan det vara så att en annan sökväg har använts tidigare? T.ex. /var/db/mysql/

Jo, iofs körde jag med entropys grejer tidigare och har faktiskt kvar databasen, men det var ju ett par år sen. Den här uppsättningen jag har nu har ju funkat ett par år - tills nyligen alltså.

135 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)