ugrás a tartalomhoz

MySQL adattábla tükrözés

tyb99 · 2007. Nov. 20. (K), 10.41
Sziasztok!

Az SQL guruktól kérdem, hogy megoldható-e MySQL-ben 2 különböző adatbázisban lévő tábla tükrözése?
Tehát ha írják az egyik adatbázisban a táblát, akkor az a másikban is frissüljön és vica-verza.
Két külön felhasználóról van szó, tehát a másiknak az adatbázisához nincs jogosultságuk. Csak ezt az egy "közös " táblát kéne valahogyan megoldani. Valamilyen adatbázis hardlink féleség, ha egyáltalán létezik ilyen...

Segítségeteket előre is köszönöm!
 
1

Jogok adása?

vbence · 2007. Nov. 20. (K), 11.00
Mi lenne, ha az egyik felhasználónak egyszerűen grant-el megadnád a jogokat a kötös táblára. A lekérdezéseken annyit kéne változtatni, hogy prefixeled a tábla nevét a másik adatbázissal. Pl masikuser. kozostabla ahelyett, hogy egyszerűen azt írnád kozostabla.

Lehet egy közös adatbázis is, hogy egyik user se érezze kisebbségben magát, ilyenkor mindketten kozosdb.kozostabla néven hivatkozhatnának rá.

Ha két külön személyhez tartozik a két adatbázis, a jövőben lehet, hogy szükséges lesz valami biztonsági mechanizmus bevezetése is, ha így van, akkor csak a saját életedet (és a fejlesztőkét) nehezíted, ha most előállsz egy 100%os bizalmi modellel, amit majd le kell cserélni, és az összes megírt SQL értelmét veszti.

Kérdés, hogy milyen gyakori a módosítás a táblán, de egy HTTP alapú szolgáltatás egy harmadik user személyében jó ötlet lenne, ami elvégzi az írási műveleteket, és a grant csak read-only (tehát SELECT) lenne.
2

Re: Jogok adás

tyb99 · 2007. Nov. 20. (K), 11.58
Eltűnt a válaszom...

Szóval még 1x:

Köszönöm a tippet!

Végsősoron lehet, hogy valami ilyesmi lesz a megoldás. Azért lenne jó, ha létezne valamiféle tükrözéses módszer, mert már mindkét felhasználónak van egy elég komplex rendszere elkészítve. Ugyanolyan nevű táblákat használnak, csak a saját adatbázisukban. Mostantól közös adatokon kellene dolgozniuk, de csak ebben az egy táblában. A többi rejtve lenne a másik elől. Az elképzelésem az volt, hogy ha szinkronizálnám a két táblát és utána lehetne valamiféle tükrözéses kapcsolatot felépíteni a kettő között, akkor a kódjaik átírása nélkül megoldható lenne a probléma. Valahol hallottam róla, h létezik ilyen megoldás, de sajnos eddig nem jártam sikerrel. A google sem tudott előállni számomra érdekes találattal...
3

Soft link?

vbence · 2007. Nov. 20. (K), 12.34
Nem jelent meg, mivel privátban válasoltál... :)

Amit még ki lehet próbálni, hogy fájlrendszer szinten (ln -s) soft linkekkel tükrözni a MYD MYI és FRM fájlokat (az adattábla fájljait). Kérdés, hogy nem-e őrül meg tőle a mysql.
4

hard link

zila · 2007. Nov. 20. (K), 12.50
Ha a symlinket nem szeretné, akkor még mindig lehet hardlinkelni (ln /db1/table.myd /db2/table.myd), ha egy partíción van a két adatbázis. persze ettől még mindig megbolondulhat :)
5

Re

tyb99 · 2007. Nov. 20. (K), 13.12
Fejlesztői környezetben rendben volna a dolog, de élesben nem merek ilyennel próbálkozni. Ez elég csúnyán is elsülhet.