[ nikol@c @ 30.09.2010. 08:24 ] @
Pozdrav,

imam mysql server koji radi ok, ali kada provjerim status servera dobijam sljedeci izvjestaj:


#/etc/init.d/mysql status
MySQL is running but PID file could not be found [FAILED]


Probao sam sa restartom mysqla ali problem je isti.
Nakon toga restartovao sam masinu, ali bez promjena.

Da li znate sta je uzrok ovome i kako se otklanja?
[ bogdan.kecman @ 30.09.2010. 08:33 ] @
init skripta ti ne valja, trazi pid na pogresnom mestu.. inace ima "patch" za taj init script (to je neki glupi red hatov ili tako nesto) koji vraca pravilno podatke (potrebno za HA i ekipu) ali ne secam se gde je .. potrazi na drbd sajtu mislim da sam tamo video .. pogledaj gde init skripta kreira fajl, gde ga trazi i gde se isti stvarno nalazi ..

stavi u [mysqld_safe] sekciju

pid-file=/var/run/mysqld/mysqld.pid

tj stavi putanju do tamo gde je fajl defaultno u init skripti .. trebalo bi da radi
[ nikol@c @ 30.09.2010. 09:33 ] @
Init skripta mi je malo nejasna i iz nje ne mogu da utvrdim gdje bi se trebao nalaziti pid fajl. Na drugom serveru imam skriptu koja izgleda malo drugacije i u njoj su odmah navedene putanje do mysqld.pid fajla i sl. Trazeci pid fajl na serveru nasao sam samo jedan za koji mislim da ima veze a mysql-om i njegova lokacija je /var/lib/mysql-cluster/ndb_2.pid

Ovo je dio iz my.cnf


[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid


da li treba da promjenim ovu putanju u my.cnf fajlu do postojeceg pid fajla koji sam naveo.
Da li je u redu da zakacim mysql init skriptu ovdje na forumu?

Pozdrav.

[ bogdan.kecman @ 30.09.2010. 15:34 ] @
taj pid ti je od mysql cluster-a .. ako ga ne koristis pogledaj da li su ti startovani proces ndbd, ndbmtd, ndb_mgmd .. ako jesu to su delovi klastera, mozda ti trose resurse bez razloga (ako ne koristis ndbcluster engine, onda trose).

config deluje ok pitanje samo sta je u init skripti ... ja ne koristim mysql koji dolazi uz distro (posto je mnogo losiji binary od onoga koji skines sa dev.mysql.com) tako da imam "svoj" nacin za startovanje mysqla ..

sve u svemu, uradi

grep pid /etc/initd.d/mysqld

pa vidi gde se spominje
[ after @ 07.02.2012. 20:05 ] @
Pretrazivao sam forum (i nisam nasao to sto sam trazio :)), pa sam naleteo na ovaj topic.

Pomenuta greska: MySQL is running but PID file could not be found [FAILED] u statusu iz /etc/init.d moze da se javi i zbog pogresne sintakse u my.cnf

Recimo upise se nesto sto nije validna sintaksa i valdina opcija u my.cnf i iako nije izvrsen restart posle odredjenog vremena mysql pid "nestane" i dodje do pomenute greske.

Ili zbog sintakse i opcija koje vaze do odredjene verzije.

Npr. da se upali general log u 5.0.x sintaksa je log_xxx i vazi do neke recimo 5.5.n verzije. Od verzije 5.1.y vazeca opcija za log je npr. xxx_log i zbog kompatibilnosti obe sintakse su validne do pomenute granicne 5.5.n. Medjutim iz nekog ludog razloga u nekoj verziji izmedju granicnih stavljeno je u my.cnf kombinacija obe sintakse. Nesto kao:

log_xxx=1
xxx_log=/path/to/general_log.log

I to radi, mysql radi, log se puni samo sto nakom nekog vremena pid nestane, pojavljuje se greska i nemoguce je zaustavljenje/restart iz /etc/init.d osim da se killnuje mysqld proces.

Nakon ispravljanja sintakse (stavljanjem samo jedne ili samo druge) i restarta greska se vise ne javlja. Za proveru da li je sintaksa u my.cnf validna kao OS mysql user kucamo: mysqld --help

Pozdrav.