Autor Zpráva
aDAm
Profil
Zdravím,
nemohl by mě někdo z vás nakopnout správným směrem jak vyřešit následující problém?

Mám dva fyzické servery, na jednom znich běžý webový server založený na linuxu a apache a na druhém z nich běží databáze od mysql.
Problém co potřebuji vyřešit je jak donutit php aplikaci na webovém serveru aby se připojila na ten druhý server kde běží databáze. Vím že je to možné pomocí IPčka, které zadám do connection místo localhostu, ale potřebuji to vyřešit tak aby to fungovalo i s localhostem popřípadě s ip 127.0.0.1. Aby prostě ten webový server věděl že když se jedná o DB tak ať ji hledá na tom druhém.

Zkoušel jsem googlit a nic rozumného jsem zatím nenarazil. Tuším že by to mělo jít pomocí mysql.sock ale jak jej dostat z toho db serveru na webový a donutit server jej používat?

Poradí někdo z vás správný směr?
DJ Miky
Profil
"Přesměrovat" port by šlo pomocí SSH tunelu, ale výkonnostně to nejspíš bude bída.

Co je přesně důvodem, aby ve skriptech fungovalo "localhost"? Pokud by šlo jenom o skrytí skutečné IP adresy databázového serveru, tak bych se spíš přiklonil k záznamu do /etc/hosts, kam dát třeba
1.2.3.4    database
A pak bys místo "localhost" ve skriptech využíval "database".
aDAm
Profil
Jedním z důvodu je to že těch DB serverů bude více a tak aby se nemuselo šahat do kodu webovky a fungovala z libovolneho DB serveru
Davex
Profil
V DNS můžeš nastavit jednomu jménu víc IP adres a když bude zapnuté Round robin, tak se bude zátěž rozkládat mezi víc serverů.
aDAm
Profil
Toto stále neřeší problém, do dns localhost určitě nedostanu, max do hostu, ale problém je ten že při použití localhost si to funkce převedou na ipčku což by znamenalo odchytávat ipčku a port...k čemu se chci dopracovat je to že v nějakém php.ini daného webhostingu (na webovém serveru jich může být více než jedna) zvolím že se má jako localhost použít daný socket který bude směrovat na XY db server, v případě potřeby nebo u druhého hostingu zase přes php ini řeknu ať používá jiný mysql socket co bude směřovat na server ZŽ....vím že v mysqli_connect se dá socket specifikovat jako poslední parametr, a co chci dosáhnout aby to nebralo základní ale volitelně podle nastavení.
Davex
Profil
Pokud opravdu potřebuješ přes localhost přistupovat na víc databázových serverů, tak bys mohl na webserveru použít MySQL proxy a load balancing.

Nebo použít v php.ini mysql.default_host a nespecifikovat localhost při spojení s DB.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: