Linux за българи: Форуми

BSD секция => Настройки на софтуер => Темата е започната от: mrowcp в Mar 17, 2010, 01:57



Титла: MySQL проблем - Edit:решен
Публикувано от: mrowcp в Mar 17, 2010, 01:57
Здравейте,
Имам чувството, че все на мене се случват някакви супер заплетени проблеми с това FreeBSD :) След като ми се наложи да килна процеса на mysql ( идея си нямам защо не го спрях през rc.d/mysql-server ), смених си роот паролата, след което поради някаква причина ( предполагам тока е спирал, защото и другата машина се беше ресетнала ) mysql-a не зареди.В момента когато се опитам да го пусна, става следното:

Цитат
caph# /usr/local/etc/rc.d/mysql-server start
Starting mysql.
caph# /usr/local/etc/rc.d/mysql-server status
mysql is not running.
caph# cat caph.err

100317  1:53:06  InnoDB: Started; log sequence number 0 43655
100317  1:53:06 [ERROR] Can't start server : Bind on unix socket: Address already in use
100317  1:53:06 [ERROR] Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
100317  1:53:06 [ERROR] Aborting

100317  1:53:06  InnoDB: Starting shutdown...
100317  1:53:07  InnoDB: Shutdown completed; log sequence number 0 43655
100317  1:53:07 [Note] /usr/local/libexec/mysqld: Shutdown complete

100317 01:53:07  mysqld ended

От различни места в интернет видях, че най-вероятната причина е вече нещо ползващо този порт, но с netstat няма нищо, нито вече има пуснат друг mysqld

Цитат
caph# netstat -an
Active Internet connections (including servers)
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
tcp4       0      0 *.*                    *.*                    CLOSED
tcp46      0      0 *.80                   *.*                    LISTEN
tcp4       0      0 192.168.1.3.80         *.*                    LISTEN
tcp4       0     52 192.168.1.3.2222       212.36.12.*.2734      ESTABLISHED
tcp4       0      0 *.199                  *.*                    LISTEN
tcp4       0      0 *.2222                 *.*                    LISTEN
tcp6       0      0 *.2222                 *.*                    LISTEN
udp4       0      0 *.161                  *.*
udp4       0      0 *.514                  *.*
udp6       0      0 *.514                  *.*
Active UNIX domain sockets
Address  Type   Recv-Q Send-Q    Inode     Conn     Refs  Nextref Addr
c3402498 stream      0      0        0 c3402b28        0        0
c3402b28 stream      0      0        0 c3402498        0        0
c34025e8 stream      0      0 c344b78c        0        0        0 /var/agentx/master
c3402d20 stream      0      0 c340c678        0        0        0 /var/run/devd.pipe
c3402dc8 dgram       0      0        0 c3402930        0        0
c3402888 dgram       0      0 c34259b4        0        0        0 /var/run/logpriv
c3402930 dgram       0      0 c3425ac8        0 c3402dc8        0 /var/run/log
caph#

И в крайна сметка никакво решение на проблема :( Някакви идеи?


Титла: Re: MySQL проблем
Публикувано от: romeo_ninov в Mar 17, 2010, 07:28
маш някъде lock файл, изтрий го и пробвай пак


Титла: Re: MySQL проблем
Публикувано от: neter в Mar 17, 2010, 10:06
По-точно, файлът /tmp/mysql.sock. Когато си убил процеса, този файл не се е премахнал, а MySQL сървърът проверява за наличието му при своето стартиране и, тъй като вече го има, решава, че има пуснат друг MySQL сървър на това място, и не се стартира, за да не обърква работата му. Чети подробно съобщенията за грешки ;)


Титла: Re: MySQL проблем
Публикувано от: mrowcp в Mar 17, 2010, 14:45
Да, файла съществува, но си мислех, че трябва да го има и вътре да е записан някакъв PID :) А сега като се замисля не виждам логика, защо след като не можах да го прочета не го затрих :) Много аматьорско от моя страна...
Мерси на отзовалите се  [_]3


Титла: Re: MySQL проблем
Публикувано от: laskov в Mar 17, 2010, 15:28
А сега като се замисля не виждам логика, защо след като не можах да го прочета не го затрих :)
Много съм любопитен, при работещ MySQL, ако се опиташ да го прочетеш, какво ще видиш и какво ще стане ако тогава го изтриеш  ???
... Понеже това е файл от тип socket и програмите "си говорят" през него...


Титла: Re: MySQL проблем
Публикувано от: neter в Mar 17, 2010, 16:15
Много съм любопитен, при работещ MySQL, ако се опиташ да го прочетеш, какво ще видиш и какво ще стане ако тогава го изтриеш  ???
... Понеже това е файл от тип socket и програмите "си говорят" през него...
Нищо няма да прочетеш, тъй като в този файл не се пази информация, празен е - служи само за предоставяне на канала за комуникация. А ако го изтриеш, затваряш канала - MySQL сървърът продължава да работи, но без възможност за комуникация с нищо, което е извън него. По-интересното беше какво ще стане, ако този файл не се изтрие, а само се премести временно другаде, след което отново се върне на мястото му. Е, пробвах го - резултатът е, че MySQL сървърът затваря канала си, и дори да върнеш socket файла на мястото му, той вече е безполезен, и трябва рестарт на MySQL сървъра ;)