Gå til innhold

Problemer med MySQL på SuSE 9.1


Anbefalte innlegg

Hei.

 

Jeg har et problem som oppstår når jeg prøver å starte MySQL fra RunLevel Editor i SuSE 9.1

 

Creating MySQL privilege database and starting MySQL...

hostname: No address associated with name

Neither host '' and 'localhost' could not be looked up with

/usr/bin/resolveip

Please configure the 'hostname' command to return a correct hostname.

If you want to solve this at a later stage, restart this script with

the --force option

..failed

 

Hva dette betyr aner jeg ikke, jeg har søkt litt rundt i Google men det er fortsatt like kryptisk for meg. Noen som kan hjelpe?

Lenke til kommentar
Videoannonse
Annonse

Hva skal jeg se etter der?

 

Limer med litt ekstra info om det hjelper.

Fra mysqld.log

040723 16:16:49  mysqld started

040723 16:16:49  Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist

040723 16:16:49  Aborting

 

040723 16:16:49  /usr/sbin/mysqld: Shutdown Complete

 

040723 16:16:49  mysqld ended

 

[B]Fra my.cnf[/B]
socket  = /var/lib/mysql/mysql.sock

Det er ingen fil mysql.sock der.

Endret av Blodhemn
Lenke til kommentar

Hvordan vil Hostname se ut om jeg ikke har noe domene på denne. Men vil bruke den lokalt på nettverk?

 

Fra /etc/hosts:

127.0.0.1      localhost

 

# special IPv6 addresses

::1            localhost ipv6-localhost ipv6-loopback

 

fe00::0        ipv6-localnet

 

ff00::0        ipv6-mcastprefix

ff02::1        ipv6-allnodes

ff02::2        ipv6-allrouters

ff02::3        ipv6-allhosts

127.0.0.2      linux.site linux

 

Fra /etc/hostname

linux.site
Lenke til kommentar

Ser ikke ut som det virket.

 

La meg lime med feilmeldingene jeg får når jeg bruker terminalen:

:/usr/sbin # mysqld

Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

040723 19:33:34  Aborting

 

040723 19:33:34  mysqld: Shutdown Complete

 

:/usr/sbin # mysqladmin ping

mysqladmin: connect to server at 'localhost' failed

error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)'

Check that mysqld is running and that the socket: '/var/lib/mysql/mysql.sock' exists!

 

Jeg har ingen mysql.sock i /var/lib/mysql/. Jeg gjorde også et søk etter mysql.sock og det ser ikke ut som jeg har den i det hele tatt. Hvorfor har jeg ikke det?

Kan feilmeldingen RunLevel Editoren gir meg være misvisende, og at det egentlige problemet er en manglende mysql.sock?

Lenke til kommentar

Hehe, hva er init-scriptet?

 

Er det dette?

:/etc/init.d # mysql

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

 

 

Enda mer paste fra terminal vinduet. En der jeg tester med min bruker som username og en der jeg tester med brukeren mysql.

:/usr/sbin # mysqld -u arild

040723 19:47:55  Can't start server : Bind on unix socket: Permission denied

040723 19:47:55  Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ?

040723 19:47:55  Aborting

 

040723 19:47:55  mysqld: Shutdown Complete

 

:/usr/sbin #

:/usr/sbin # mysqld -u mysql

040723 19:48:56  Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist

040723 19:48:56  Aborting

 

040723 19:48:56  mysqld: Shutdown Complete

Endret av Blodhemn
Lenke til kommentar

Init-scriptet ligger sannsynligvis under /etc/init.d, som inneholder skript som er tilgjengelige for å bli kjørt under boot av maskinen. Hvilke av disse som blir kjørt kommer an på om de er linket til i mappene /etc/rc?.d, som symboliserer "run-levels". Jeg gidder ikke gi en leksjon i init-systemet.

 

Om du finner en fil i /etc/init.d som har et navn som ser ut til å ha noe med mysql å gjøre, kan du prøve å starte mysql (som root) slik:

/etc/init.d/<initscript> start

Der <initscript> er navnet på filen i /etc/init.d.

 

Det er mulig at SUSE har en mer grafisk måte å gjøre det samme på, muligens blir dette akkurat det samme som det du gjorde fra det du kaller RunLevel Editor.

Lenke til kommentar

Jeg trodde litt av poenget med RPMS var at jeg skulle slippe slik dilling som dette.. ;)

 

Dette skjer når jeg kjører mysql start i init.d.

Altså ikke den samme meldingen som RunLevel Editoren.

:/etc/init.d # mysql start

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

Og den kan sikkert ikke connecte gjennom mysql.sock fordi det ikke finnes noen.

 

Hvor kan jeg eventuelt finne mysql.sock?

Endret av Blodhemn
Lenke til kommentar

Dette er ikke dilling. GUI er dilling :p. Uansett gjør du feil. Det du gjør når du skriver 'mysql start' er at du kjører mysql programfilen som sannsynligvis ligger i /usr/bin. Du må enten gå til /etc/init.d og skrive './mysql start', eller skrive inn hele banen '/etc/init.d/mysql start'. /etc/init.d ligger selvsagt ikke i PATH-variabelen og blir dermed ikke søkt i for kjørbare filer når du ikke angir banen til filen.

 

Det er vel forsåvidt ditt valg om du velger å bruke SUSE's såkalte run-level editor, eller om du velger å gjøre det fra konsollen. Jeg gikk utifra at du foretrakk konsollen, da de fleste gjør det, og det er som regel letter å feilsøke med denne. I tillegg har jeg ikke spesiell kjennskap til SUSE, det blir da enklere for meg å ta utgangspunkt i en metode som fungerer i mange distroer.

Endret av drall
Lenke til kommentar

Aha, trodde at jeg overskrev miljøvariabler ved å stå i et directory som har en "kjørbar" fil. Om jeg bruker RunLevel Editor eller init spiller ingen rolle så lenge det virker ;)

 

Uansett ved å kjøre hele '/etc/init.d/mysql start' fikk jeg samme feil som RunLevel Editor.

:/ # /etc/init.d/mysql start

Creating MySQL privilege database and starting MySQL...

hostname: No address associated with name

Neither host '' and 'localhost' could not be looked up with

/usr/bin/resolveip

Please configure the 'hostname' command to return a correct hostname.

If you want to solve this at a later stage, restart this script with

the --force option

                                                                                                      failed

 

Så da er jeg tilbake til start ;)

Lenke til kommentar
:~ # ping $(hostname)

ping: unknown host help

:~ # hostname localhost

:~ # ping $(hostname)

PING localhost (127.0.0.1) 56(84) bytes of data.

64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.084 ms

64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.076 ms

64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.078 ms

64 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=64 time=0.072 ms

64 bytes from localhost (127.0.0.1): icmp_seq=5 ttl=64 time=0.079 ms

64 bytes from localhost (127.0.0.1): icmp_seq=6 ttl=64 time=0.076 ms

64 bytes from localhost (127.0.0.1): icmp_seq=7 ttl=64 time=0.078 ms

64 bytes from localhost (127.0.0.1): icmp_seq=8 ttl=64 time=0.079 ms

64 bytes from localhost (127.0.0.1): icmp_seq=9 ttl=64 time=0.074 ms

64 bytes from localhost (127.0.0.1): icmp_seq=10 ttl=64 time=0.078 ms

64 bytes from localhost (127.0.0.1): icmp_seq=11 ttl=64 time=0.077 ms

 

--- localhost ping statistics ---

11 packets transmitted, 11 received, 0% packet loss, time 9998ms

rtt min/avg/max/mdev = 0.072/0.077/0.084/0.008 ms

:~ # hostname

localhost

:~ #

 

Aha.. vet ikke helt hva jeg hadde gjort jeg. Men jeg hadde prøvd å sette host via filene i /etc/ ellerno..

 

Når jeg skrev hostname localhost så virka begge komandoene du limte inn over samt at jeg fikk starta mysql daemon.

 

Hjertlig takk for hjelpen ;)

Lenke til kommentar

Det er vel vanlig at standard hostname settes i /etc/hostname skulle jeg tro? Mulig du må kjøre nok et init-skript på nytt for at endringer skal ta effekt da. Kanskje blir kommandoen "hostname $(cat /etc/hostname)", eller noe lignende, kjørt ved oppstart? Fint at det ordnet seg i alle fall.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...