MySQL torolt db

Helo,

Nem biztos, hogy johelyre megy a forum, de probaltam beloni.
Szoval a problema az, hogy ment szepen a mysql, valamelyik kevesbe inteligens userem meg fogta es letorolte a mysql db alatt volt file-okat. A vissza allitasuk nem para, viszont backup nincs es flush privileges is kimaradt. Szoval elviekben valahol meg ott vannak a privilegiumok viszont a tablak mar a kukaban es a kerdes, hogy valaki nem e tudja hogy lehetne kivarazsolni oket?

thnx,
drk

Hozzászólások

maskor ments ertelmesen
masreszt hogy fer hozza user ahhoz a konyvtarhoz, es plane hogy tud torolni belole?

ha visszamasolod, elvileg mennie kell.

hol a baj?

tobb infot

t

csak egy elvi kérdés: ha van egy működő mysql adatbázisod és azt csak file szinten mented, az működőképes? úgy mint beállítod, feltöltöd adatokkal. majd egy másik gépre telepíted (beállítások azonosak), majd "alámásolod a file-okat". a "produktum" működő képes lesz?

--
xterm

Ha kritika kellett volna akkor kerdes nelkul irom csak siman a tortenetet.
Tisztaban vagyok hogy menteni kene. Azzal is hogy a user elvileg nem fer hozza. De azzal mar kevesbe, hogy akkor most azokat a privilegiumokat amik jelenleg ervenyben vannak, de a letorolt db-ben voltak tudom e exportalni vagy ehhez hasonlo?

Egyebkent meg myisam -os tablak egyaltalan nem banjak ha file szinten masolgatod oket. Elotte nemart azert a flush tables lockolas es utana ellenorizd a privilegiumokat de btw siman megy. innodb vel mar lehet problemasabb de az beallitas fuggo is.

Szoval valakinek valami megoldas esetleg, hogy ne kelljen ujra vegig nyalaznom kezzel az osszes usert? Jelenleg a server productionben van.
Amugy a file vissza allitas a default mysql db-re ertendo sorry ha rosszul fogalmaztam.

drk

valoszinuleg rosszul fogalmaztam. kezdjuk elolrol.
Egyik userem vagy valaki megtorte vagy injection teljesen mind1, a problema jelenleg az hogy valahogy a mysqld alatt a mysql db -bol (vagyis fizikailag a /var/lib/mysql/mysql -bol) tuntek el a fileok ami egy default debianos telepitesnel mint az en esetemben is, a mysql db helye. Namost tudjuk ugye hogy a mysql itt tartja a user tablat es a table_priv tablat amikben a user-rek es a table-okhoz tartozo privilegiumok vannak. Ha ebbe valaki updatel/insertel/torol akkor utana egy flush privileges kiadasat kovetoen ervenybe lepnek a valtoztatasai. Most leegyszerusitve vazoltam csak.
Szoval a mysqld mysql db -alol toroltek a file-okat. De nem volt flush privileges, igy a mysql meg "tudja" a usereket betudok lepni a meglevo userekkel megy a server stb, viszont ha most pl kiadnam hogy flush privileges, buknam a servert (persze most ezt is csak a szemleltetes kedveert). IGy tehat az erdekelne hogy ebben az esetben a user privilegiumokat es a meglevo usereket kitudom exportalni?

Valaki esetleg talalkozott mar hasonloval?

tisztában voltam a dolog randa voltával :D csak felderengett bennem egy lehetőség. pl. megdöglik a filerendszer és csak itt ott elérhető. mondjuk elérem a database file-okat és a mysql configját. tudom, teoretikus, de miért ne előre készüljek lelkileg? :) amúgy nem régen volt hasonlóval kínom, bár ott maga a db szerver ment. idővel... :)

--
xterm

+1

A fájlok backupolása az adatbázis dumpolása helyett lehet, hogy néha működik (vagy kegalábbis elsőre úgy tűnik, aztán majd elkezd segfaultolni...), de valjójában egy nem determinisztikus és veszélyes megoldás.
Egyrészt nem lehet használni működő adatbázissal (ahogy használat alatt álló fájlrendszert sem lehet backupolni dd-vel), másrészt semmi garancia, hogy ha egy kicsit is más verzióba töltöd vissza, annak mi lesz az eredménye.
Külön eszköz van az adatbázis backupra, használjuk azt.

--
The Net is indeed vast and infinite...
http://gablog.eu

pont tegnap mentettem igy mysql-t meg allitottam vissza, semmi gond nelkul.. amennyiben azonos mysql verziot teszel vissza akkor nem is kell hogy gond legyen vele, de azert mentes elott allitsd le mysql servert:)

Ha mentes erdekes, akkor pl. mysqldump, mysqlhotcopy, vagy (ha olyan a kornyezet, es truly profi megoldas kell, akkor) replikacio.

ASK Me No Questions, I'll Tell You No Lies

Valo igaz sj commentje, a mentes mysqldump es replikacio tokeletes (replikalni akar ugyan azon gepen is tudsz kicsit trukkozve ha nagyon nincs masik gep es a terheles se veszes). De ettol fuggetlenul allitom, hogy myisam egy lock es egy flush utan masolhato es akar masik (ahogy fentebb irtak azonos verzioju) mysqld-be bemasolhato es menni fog :)

Rendkivul hatasos tud lenni. Btw errol eszembe jut egy csufsagosnak titulalt de valahol szerintem eleg erdekes megoldas arra az esetre, ha productionben levo (tehat max leallasi ido <1sec) akarsz meg alterelni egy mondjuk a pelda kedveert 5gb-s tablat :)). A trukk valahogy ugynezki, hogy letrehozod a tablat mas neven ua parameterekkel, lock, flush, shellbol ki_mozgatod_ az frm file-okat at a masik db hez tartozo nevre, majd unlock, megaltereled az igy mar ures tablat es az frm file-okat visszamasolod. Es ez is mukodik elviekben(bar meg a tesztelesik nem jutottam :P) sot elviekben innodb-vel is megy.

drk