Thread View: pl.comp.os.freebsd
3 messages
3 total messages
Started by spaj44
Mon, 17 May 2004 06:45
Mysql + Quota
Author: spaj44
Date: Mon, 17 May 2004 06:45
Date: Mon, 17 May 2004 06:45
36 lines
2941 bytes
2941 bytes
Witam musze poruszyć temat poraz kolejny ponieważ dalej nie ma na to odpowedzi a ten temat wciąż mnie nurtuje nieubłaganie a jest tak . Na necie możemy znalesć dwa skrypty które niby potrafią nałożyć quote na daną baze danych ale oczywiście zaden z nich narazie tego nie potrafie postaram sie w skrócie opisać kazdy z nich 1.skrypt można pobrać z http://projects.marsching.org/mysql_quota/ skrypćik po przeglądnieciu kodu zapowiada sie ciekawie ale jest lipny nie udało mi sie go uruchomić ponieważ wywala mi błąd w linijce while ($row = mysql_fetch_array($result)) jeżeli to skasujem to wyskoczy nam w innej linijce jeżeli poczynimy to samo co wcześniej to skrypty odpali sie ale bedzie tylko czrny ekran i nic więcej nie wiem co jest i nie rozumie dlaczego ktoś wysttawia trefny skrypt ?? . 2. http://paradigma.co.pt/~gngs/stuff/mysqlquota.php.txt ten skrypt jest ciekawy ale służący jako info i postrach dla userów . jego kod żródłowy nie jest obicujący ale działający ponieważ sie uruchamia bez problemu i oczywiście po uruchomieniu wyskakuje ładne menu gdzie możemy wpisać baze na którą bedzie nałożona quota i ustalć ja również i podać jeszcze kilka informacji . Po przekroczeniu limitu ustalonego w skrypcie następuje wysłanie informacji do usera że przekroczył limit bazy SQL i musi coiś usnąć ale ten skrypt to zwykła atrapa tak czy siak dalej możesz zapisywać rekordy w bazie czyli krótko mówiąc lipa . ja poszukuje a również kieruje zapytanie do lepszych w te klocki żeby ten skrypt z deka zmodyfikowac czyli żeby wysyłał maila do usera i również zmienialo prawa dostępu do bazy tak żeby miał opcjie DROPE i DELETE żeby mógł tylko kasować . Ale wydaje mi sie żeby to działało to ten skrypt musi pracować jako demon a to już by było bardziej skonplikowane ale coż czekam cierpliwie moze jakiś tęgi umysł rozwikła ten pomysł wiem że to możliwe po googlowałem i pisałem maile do adminów i nikt niby nie znał odpowiedzi tylko0 że na ich stronach dziwnym trafem było nałożona quota na baze któż to wiem może tylko to taka zamyłka ?? . Pozdrawiam
Re: Mysql + Quota
Author: Piotr Koper
Date: Mon, 17 May 2004 21:29
Date: Mon, 17 May 2004 21:29
66 lines
4018 bytes
4018 bytes
spaj44@wp.pl (spaj44) wrote in message news:<d97d30b7.0405162245.57f6120f@posting.google.com>... > Witam > musze poruszy? temat poraz kolejny poniewa? dalej nie ma > na to odpowedzi a ten temat wci?? mnie nurtuje nieub?aganie a jest tak > . > Na necie mo?emy znales? dwa skrypty które niby potrafi? na?o?y? quote > na dan? baze danych ale oczywi?cie zaden z nich narazie tego nie > potrafie postaram sie w skrócie opisa? kazdy z nich > 1.skrypt mo?na pobra? z http://projects.marsching.org/mysql_quota/ > skryp?ik po przegl?dnieciu kodu zapowiada sie ciekawie ale jest lipny > nie uda?o mi sie go uruchomi? poniewa? wywala mi b??d w linijce > while ($row = mysql_fetch_array($result)) > je?eli to skasujem to wyskoczy nam w innej linijce je?eli poczynimy to > samo co wcze?niej to skrypty odpali sie ale bedzie tylko czrny ekran i > nic wi?cej nie wiem co jest i nie rozumie dlaczego kto? wysttawia > trefny skrypt ?? . ``typo'', zauwaz roznice w zapytaniu, ktore tworzy tabele, a nazwach uzywanych dalej w samym skrypcie (mowie o Limit zamiast limit, Quota zamiast quota itd). > 2. http://paradigma.co.pt/~gngs/stuff/mysqlquota.php.txt > ten skrypt jest ciekawy ale s?u??cy jako info i postrach dla userów . > jego kod ?ród?owy nie jest obicuj?cy ale dzia?aj?cy poniewa? sie > uruchamia bez problemu i oczywi?cie po uruchomieniu wyskakuje ?adne > menu gdzie mo?emy wpisa? baze na któr? bedzie na?o?ona quota i ustal? > ja równie? i poda? jeszcze kilka informacji . Po przekroczeniu limitu > ustalonego w skrypcie nast?puje wys?anie informacji do usera ?e > przekroczy? limit bazy SQL i musi coi? usn?? ale ten skrypt to zwyk?a > atrapa tak czy siak dalej mo?esz zapisywa? rekordy w bazie czyli > krótko mówi?c lipa . > ja poszukuje a równie? kieruje zapytanie do lepszych w te klocki ?eby > ten skrypt z deka zmodyfikowac czyli ?eby wysy?a? maila do usera i > równie? zmienialo prawa dost?pu do bazy tak ?eby mia? opcjie DROPE i > DELETE ?eby móg? tylko kasowa? . Ale wydaje mi sie ?eby to dzia?a?o to > ten skrypt musi pracowa? jako demon a to ju? by by?o bardziej > skonplikowane ale co? czekam cierpliwie moze jaki? t?gi umys? rozwik?a > ten pomys? wiem ?e to mo?liwe po googlowa?em i pisa?em maile do > adminów i nikt niby nie zna? odpowiedzi tylko0 ?e na ich stronach > dziwnym trafem by?o na?o?ona quota na baze któ? to wiem mo?e tylko to > taka zamy?ka ?? . > Pozdrawiam oba skrypty zapewne sa dobrze napisane poza pozniej dopisanymi komentarzami. jedyne niedopracowanie to brak: FLUSH PRIVILEGES jakies odnosniki na ten temat: http://dev.mysql.com/doc/mysql/en/GRANT.html http://dev.mysql.com/doc/mysql/en/FLUSH.html skrypty sa bardzo fajne i dzialaja po naprawde niewielkich modyfikacjach, poprawiona przeze mnie wersja znajduje sie tu: http://koper.exel.pl/mysql_quota/quota.phps Dziala bardzo dobrze jezeli chodzi o uprawnienia na uzytkownika i tylko wtedy. Warty wspomnienia jest fakt, ze jezeli uzytkownik tabeli wczesniej mial uprawnienia tylko ``do odczytu'', to po przekroczeniu quoty i jej ponownym unormowaniu bedzie mogl takze zapisywac do bazy danych. Milej zabawy. pozdr. koper
Re: Mysql + Quota
Author: lukes
Date: Wed, 19 May 2004 20:05
Date: Wed, 19 May 2004 20:05
34 lines
2815 bytes
2815 bytes
Użytkownik "spaj44" <spaj44@wp.pl> napisał w wiadomości news:d97d30b7.0405162245.57f6120f@posting.google.com... > Witam > musze poruszyć temat poraz kolejny ponieważ dalej nie ma > na to odpowedzi a ten temat wciąż mnie nurtuje nieubłaganie a jest tak > . Nie odpowiem dokladnie na pytanie aczkolwiek moze moje przemyslenia na cos sie przydadza. Generalnie przerabialem temat skryptow o ktorych mowa ale skrypty sprawdzające pojemnosc bazy to nie jest dobre rozwiazanie. Uzyszkodnik moze pomiedzy sprawdzeniami wpruc do bazy sporo informacji, co z tego, ze zablokujesz mu dostep jak dane pozostana. Chyba, ze chcesz stosowac metody faszystowskie i usuniesz uzyszkodnikowi dane. Mozna wykorzystac fakt, ze mysql tworzy osobny katalog do kazdej bazy danych. Wtedy katalog przenosisz do katalogu uzytkownika i robisz symlinka bazie. Oczywiscie nadajesz calemu katalogowi wlasciciela mysql i grupe uzytkownika (lub odwrotnie), ustawiasz quote systemowa i... no wlasnie - ciekawi mnie co sie stanie w przypadku gdy zostanie osiagniety twardy limit. Z informacji jakie zdobylem mysql moze sie glupio zachowac. Inaczej jest w przypadku PgSQL-a, choc metoda jest prawie identyczna. Warunek: PgSQL musi byc skompilowany z opcja CPPFLAGS=-DALLOW_ABSOLUTE_DBPATHS . Robisz po prostu: initlocation /home/uzyszkodnik1/data createdb -D /home/uzyszkodnik1/data/test1 test1 Oczywiscie wlascicielem katalogu (...)/data musi byc pgsql a grupa uzyszkodnik. Dla kazdego usera masz osobna grupe i tylko ustawiasz sobie quote systemowa. Roznica, na korzysc PgSQL, polega na tym, ze w momencie osiagniecia twardego limitu baza przestanie "dodawac" nowe dane, gdy zrobi sie wolne miejsce (np. po vacuum) log transakcji zostanie oprozniony i zmiany dokonane w bazie, wiec niczego nie powinno sie utracic. pozdrawiam, lukes
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads