[ LUGOS ] mysql & inetd

Andrej Komelj andrej.komelj na guest.arnes.si
Ned Feb 27 01:02:52 CET 2000


Ce koga zanima: Spisal sem neke vrste wrapper za mysqld, ki s pomocjo
programa redir (port redirectorja) emulira obnasanje ostalih daemonov
pod inetd-jem (mysqld sam tega ne zna).

Kako vse skupaj funkcionira: Ko inetd dobi zahtevo na nek dolocen port
(recimo 3307), poklice wrapper. Ta ugotovi, ali je mysqld ze pognan
(preveri, ali obstaja datoteka /var/run/mysql). Ce se ni, pozene
streznik in pocaka, da le-ta zacne sprejemati povezave. Nato poklice
redir (port redirector), ki stdin in stdout preusmeri na streznikov
vhodni port in tako vzpostavi povezavo med klientom in streznikom. Ko
se ta povezava zapre, wrapper pusti nekaj casa mysqld se pognan (tako
da ga ni potrebno ponovno pognati za vsako naslednjo povezavo v tistem
casu -- hitrost), nato pa poklice mysqladmin shutdown in server lepo
"izklopi".

Potrebno je samo nastaviti kliente, tako da se le-ti priklapljajo na
nov port. Seveda pa se lahko postavi streznik na 3307 in potem klienti
delujejo celo brez sprememb.

Zakaj je to dobro? Ce je se kje kdo, ki ima v racunalniku 72 pinske
slote in ne najde spomina zanje.

Nekako planiram, da bom spisal wrapperje se za nekaj ostalih
streznikov, ki neprestano cepijo v spominu, ceprav 3/4 casa ne pocno
nicesar. Recimo lpd, xfs...

-- 
Andrej.

... Texans have a different word for sushi: Bait.




Dodatne informacije o seznamu Starilist