05. februar 2003 - 18:48Der er
15 kommentarer og 1 løsning
RH 7 og mysql
jeg er i gang med at geninstallere min server. nu er der en fejl i red hats distribution således at mysql ikke virker out of the box. jeg får en fejl meddelelse, der siger :
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
nuvel. jeg kan huske at det også skete sidst jeg installerede rh 7, og efter at have læst mig gennem diverse newsgroups, fandt jeg ud af at det er noget med en fejl i rpm'en (noget med nogle brugerrettigheder) jeg kan også huske at jeg fandt en ret simpel løsning (sikkert noget med et chmod eller noget lignende) sidste gang, men jeg kan bare ikke huske hvad jeg gjorde og jeg kan heller ikke finde det sted hvor der stod hvordan man skulle klare problemet.
anyone ?
(og jo ... jeg har kørt up2date, så det er nyeste version, men det ændrer ikke noget)
Det som du fandt ovenfor var ikke din mysql-process - den kører nok ikke, hvilket måske ikke er underligt, siden at den ikke kan få lov til at oprette den socket, som den skal bruge for at snakek med andre programmer.
Mao. genstart maskinen og se om den kører. Du kan bruge denne linie:
ps axguwww| grep mysql | grep -v grep
Så er det kun mysql (og andre processer der hedder noget med mysql - undtagen grep), der dukker op.
Hvis den kører, så check hvem der ejer filerne i det katalog som du lige har chmod'et. Sæt ejeren i overensstemmelse med det og kør en
[root@olejkomplexet lib]# chown mysql.mysql /var/lib/mysql [root@olejkomplexet lib]# chmod og-rw /var/lib/mysql [root@olejkomplexet lib]# mysql ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
... iøvrigt har før det afinstalleret alle mysql prms (mysql, mysql-devel, mysql-server, php-mysql) og geninstalleret dem via up2date, så installationen burde vel være iorden ???
[root@olejkomplexet /usr]# cd /usr ; /usr/bin/safe_mysqld & [1] 1677 [root@olejkomplexet /usr]# Starting mysqld daemon with databases from /var/lib/mysql 030206 13:14:51 mysqld ended [1]+ Done /usr/bin/safe_mysqld [root@olejkomplexet /usr]# more /var/log/mysqld.log 030206 13:14:50 mysqld started 030206 13:14:51 Can't start server : Bind on unix socket: Permission denied 030206 13:14:51 Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ? 030206 13:14:51 Aborting
ok ... status ... jeg prøvede at compile følgende c-kode : http://www.linux-magazine.com/Readers/Forum/00000163?expand_all=1 når jeg kører den, fremkommer der en mysql.sock (filstørrelse 0) i /var/lib/mysql/mysql.sock på denne laver jeg følgende to kommandoer : chmod 777 mysql.sock chown -R mysql:mysql mysql.sock
så skriver jeg /etc/init.d/mysqld start
og den svarer lige så pænt med Starting MySQL: [ OK ]
en ls afslører at mysql.sock nu er forsvundet fra /var/lib/mysql/ og kommandoen mysql giver ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
mysql kommunikerer med sig selv igennem en socket - og de forskellige distributioner smider dem forskellige steder - nogle i /var/lib/mysql/mysql.sock og andre i /tmp/mysql.sock. Du skal gøre følgende:
$ find / -name mysql.sock (mit gæt er at den ligger i /tmp/mysql.sock)
$ cd /var/lib/mysql/ $ ln -s /path-som-find-gav/mysql.sock
mfalck -> tak for dit svar, men så meget vidste jeg allerede.
jeg har lavet en find, og mysql.sock er ikke eksisterende på mit system (eller *.sock for den sags skyld) jeg er også sikker på at HVIS den fandtes skulle den såmen nok ligge i /var/lib/mysql/ eftersom jeg har kigget efter i my.cnf og sikret mig at det er den path, der står der.
efter at have prøvet _alt_ 10 gange, fandt jeg fejlen. sagen er den at mit /var/ dir havde ejerskabet lp:lp det ændrede jeg til root:root (og satte også chmod 777 /var) gjorde iøvrigt det samme med /var/lib/ og /var/lib/mysql/ for lang tid siden, men jeg havde lige overset /var/
sikke noget ged. siden _darkstar_ gjorde en hæderlig indsats for at hjælpe mig, får han pointene.
jeps - darkstar har ret - sæt dem til 755 i det mindste.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.