Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Vreme pristupa/modifikacija Mysql baze

[es] :: MySQL :: Vreme pristupa/modifikacija Mysql baze

[ Pregleda: 1675 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

after
Ajvanho, ING

Član broj: 276962
Poruke: 97
*.dynamic.sbb.rs.



+6 Profil

icon Vreme pristupa/modifikacija Mysql baze12.01.2011. u 17:55 - pre 161 meseci
Pozdrav svima.


Imam već neko vreme dilemu da li postoji način da se ispravno prikaže vreme pristupa/modifikacije nekoj bazi tj. tabeli.

Iz samog mysql-a

show table status like 'neka_tbl'

daje update time ali samo za MyISAM tip tabela, dok za Innodb i memory tip tabela update_time je NULL.

kao i isto to preko querija:

select update_time from information_schema.tables where table_name='neka_tbl'


Sada, negde sam procitao da kod nekih verzija mysql (bug?) output create_time iz gornjih upita predstavlja ustvari update_time tj. modifikaciju kod innodb tabela.



Drugi na prvi pogled mnogo bolji nacin bi bio preko svojstva samog fajla/direktorijuma u unix/linux sistemu. Kod linux-a imamo tri vremena koje definisu fajl/folder

atime ----kada je fajlu zadnji put pristupano - access time
mtime ----kada je fajl modifikovan
ctime ----menja se iz istih razloga kao i mtime plus kada se promeni owner ili permisije

i onda bi dobili razne tipove vremena:

ls -lu ----za atime
ls -la ----za mtime
ls -lc ----za ctime

ili jednostavno preko stat komande koja daje sve to zajedno ili preko find komande.

To bi trebalo da prikaže ispravno vreme kada je tabela modifikovana mtime/ctime. Medjutim ako imamo bazu za koju se radi backup svaki dan, a kojoj niko ne pristupa mesecima vreme zadnjeg pristupa - neki select necemo dobiti, vec kao zadnji pristup ce biti zabelezeno vreme zadnjeg backupa. Takodje, promene se ne upisuju odmah na hdd vec su neko vreme u buferu pa tek onda idu na hdd.

Treći način bi bio izvlacenje informacija iz mysql logova general i slow query log, ili cak i iz bin loga ako je aktiviran.

Kao solucija moze biti i ubacivanje i timestamp kolone u svaku pojedinačnu tabelu, ali mi se to čini kao rudarski posao.

Zanima me kakva su vaša mišljenja i iskustva po ovom pitanju.


 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Vreme pristupa/modifikacija Mysql baze12.01.2011. u 18:27 - pre 161 meseci
nisam tacno skonto sta pitas al ako hoces da vidis koliko tacno traje nesto u mysql-u onda:
http://dev.mysql.com/doc/refman/5.5/en/show-profiles.html

ako ti zanima "kada je zadnji put nesto menjano" - mysql ne cuva taj info. myisam ti pokaze vreme zadnje modifikacije tako sto pokupi info sa file sistema, za innodb je to nemoguce (cak i u varijanti sa file-per-table) a ni za myisam nije bas sigurno ...

ono sto mozes je da napises lua skript koji turis u mysql-proxy i dozvolis pristup mysql-u samo kroz proxy tako da onda mozes da logujes svaki pristup bazi .. mozes da parsiras sql pa da za razlicite tabele pises kada su zadnji put "stagod" .. za primer za logovalje pogledaj: http://www.mysql.rs/2010/02/mysql-audit-data/

takodje mozes na mysql-u da kresnes general query log koji ce da loguje sve upite pa onda njega da parsiras ...

ako ti nije bitno kad je pristupljeno nego samo kada je pravljena izmena, kresni binary log i u njemu imas sve informacije o svim promenama
 
Odgovor na temu

after
Ajvanho, ING

Član broj: 276962
Poruke: 97
*.dynamic.sbb.rs.



+6 Profil

icon Re: Vreme pristupa/modifikacija Mysql baze12.01.2011. u 19:02 - pre 161 meseci
Hvala na odgovoru.

Ono sto me zanima je da li se baze na nekom mysql serveru koriste tj. da li im je neko pristupao recimo u zadnjih 30 dana. Sklepao sam neku shell skriptu cija je osnova:

find -maxdepth 1 -type d -atime +30

i koja trazi u mysql datadir gde se fizicki nalaze baze, direktorijum tj. bazu kojoj nije pristupano vise od 30 dana


Pogledacu preko lua skripti i mysql-proxy sta moze da se izvuce, a ovako na blic cini mi se da je parsiranje general query log-a dobra solucija za odredijavanje aktivnosti/neaktivnosti neke baze.


Interesuje me, mada nema veze sa ovim gore da li postoji neki tool za proveru validnosti mysql backup-a. Nasao sam na netu da moze preko Maatkit-a http://www.maatkit.org/. Sastavio sam shell skriptu (tj. dve backup i restore_check) za proveru validnosti backupa i koja se u osnovi svodi na mogucnosti restore na drugom mysql serveru, uporedjivanju broja tabela na origin mysql serveru pre backupa i na nekom drugom nakon restore. Cini mi se da se u opisu jednog Maatkit tool-a za proveru validnosti backupa koristi slicna ideja plus sto se proverava i uporedjuje broj redova svake tabele. Neznam da li postoji jos neka upotrebljiva ideja ili tool za proveru validnosti.

Pozdrav!
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Vreme pristupa/modifikacija Mysql baze12.01.2011. u 19:36 - pre 161 meseci
nece ti ta skripta raditi na innodb tabelama, samo nad myisam

dodatno, razni klijenti, show tables, show databases etc povuku sve te informacije tako da ce pipnuti fajlove .. tako da atime nije bas upotrebljiv info ... inace ja savetujem da se datadir mountuje btw sa noatime :)

za proveru bekapa, na zalost nista upotrebljivo (ukljucujuci maatkit) ... generalno mysql enterprise backup (novi proizvod - nije dzaba - mislim da moze da se skine "demo" verzija koja nema nikakva ogranicenja osim toga da treba sam da odlucis da ne koristis ako ne platis, sa oracle e-delivery-a) bi trebalo da pravi "siguran" bekap sa checksum-om i sl .. mada ja sa istim nemam bas nesto preterano iskustva (mysql cluster ima svoj vrlo siguran bekap)
 
Odgovor na temu

after
Ajvanho, ING

Član broj: 276962
Poruke: 97
*.dynamic.sbb.rs.



+6 Profil

icon Re: Vreme pristupa/modifikacija Mysql baze14.01.2011. u 18:28 - pre 161 meseci
Tacno, file system ne daje ispravan info za innodb engine, nekada se updajtuje pristup ali uglavnom ne :). General query log izgleda kao neko moguce resenje da se napise skripta da "vadi" vreme pristupa odredjenim bazama.

Sto se tice enterprise solucija, najvise mi se po opisu svidja mysql monitor - Merlin i njegove mogucnosti. Mozes li Bogdane da napises neko tvoje kratko misljenje i poredjenje Mysql monitora i Oracle Enterprise Manager-a, sto se tice monitoringa mysql servera. Na stranu to sto OEM osim mysql-a, podrzava i naravno Oracle, MS SQL, ...kao i monitoring OS: Linux, Win,...

Koliko se secam opisa Mysql monitora, takodje je neophodan agent.


Pozdrav

 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Vreme pristupa/modifikacija Mysql baze14.01.2011. u 19:47 - pre 161 meseci
Citat:
after:  General query log izgleda kao neko moguce resenje da se napise skripta da "vadi" vreme pristupa odredjenim bazama.


kao sto rekoh, ako neces da ides kroz proxy - jedini nacin ti je general log ili ako ti nije bitan select onda binary log ...

Citat:
after: Mozes li Bogdane da napises neko tvoje kratko misljenje i poredjenje Mysql monitora i Oracle Enterprise Manager-a, sto se tice monitoringa mysql servera.


Ne, da bi mogao da napisem poredjenje o OEM-u morao bi neko vreme da ga koristim... ne bih dozvolio sebi da "opisujem" ili "poredim" alat koji sam koristio za zivota ukupno mozda 20 sati..

Citat:
after: Na stranu to sto OEM osim mysql-a, podrzava i naravno Oracle, MS SQL, ...kao i monitoring OS: Linux, Win,...


merlin takodje prati OS (windows, linux, solaris ...) kao i HW (ram, io, cpu ...) a bez problema bi mogao da prati i m$sql, oracle i ostalu bratiju ako bi neko seo i napisao agent za to

Citat:
Koliko se secam opisa Mysql monitora, takodje je neophodan agent.


isto kao i za OEM ako hoces da pratis bilo sta osim rad oracle baze, kako drugacije mislis da pokupi podatke o operatuvnom sistemu, hardweru i slicno
 
Odgovor na temu

[es] :: MySQL :: Vreme pristupa/modifikacija Mysql baze

[ Pregleda: 1675 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.