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

Podešavanje servera za MySQL

[es] :: MySQL :: Podešavanje servera za MySQL

[ Pregleda: 2119 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

maroon984

Član broj: 284654
Poruke: 57
188.246.92.*



+1 Profil

icon Podešavanje servera za MySQL10.11.2011. u 23:18 - pre 150 meseci
Tema je možda slična prethodnoj, ali više ciljam na opštije stvari, pa...

Kako podesiti server (pod linux-om) za MySQL?
Koje servise pogasiti, koje ostaviti...
Kako podijeliti particije? Koji fajlsistem tip ide gdje...
Šta staviti na istu, a šta NI SLUČAJO na istu particiju?
Gdje postaviri datadir? Kako "razbacati" MySQL po fajl sistemu...


Znači...pišite sve što vam padne na pamet, a da ima veze sa serverom i MySQL-om na njemu...
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
95.180.41.*

Sajt: mysql.rs


+2377 Profil

icon Re: Podešavanje servera za MySQL11.11.2011. u 04:58 - pre 150 meseci
ako nisi, prvo procitaj: http://www.mysql.rs/2009/03/optimizacija-mysql-servera/ to je vrlo kratak post koji pokriva sva opsta mesta + jos par bitnih stvari vezano za mysql konfiguraciju

Citat:
maroon984
Koje servise pogasiti, koje ostaviti...


ugasis SVE sto ti ne treba

Citat:

Kako podijeliti particije? Koji fajlsistem tip ide gdje...
Šta staviti na istu, a šta NI SLUČAJO na istu particiju?
Gdje postaviri datadir? Kako "razbacati" MySQL po fajl sistemu...


sistem na sta oces
mysql na XFS - parametri zavise od toga sta hoces, ako nemas battery backup i hoces 100% transakcija da budu na disku onda koristis write barrier, ako npr imas battery backup onda ugasis write barrier etc etc

particije kao takve su nebitne, bitni su spindlovi. to sto ces da podelis jedan spindle (disk) na 3 particije pomaze na windozi sa fragmentacijom ali sto sa rdbms-a tice to je beskorisno, bitno je da zahtevne io stvari stavis na posebne spindlove kako bi mogao da imas veci io. Na primer zgodno je da ti OS sedi na jednom, datadir na drugom a logovi i binlog na trecem spindlu, takodje je recimo zgodno za myisam da data i index fajlovi budu na razlicitim spindlovima (na innodb-u to ne moze)

ne postoji "ni slucajno" varijanta, radi to sve bez problema na jednom disku i jednoj particiji


 
Odgovor na temu

maroon984

Član broj: 284654
Poruke: 57
188.246.92.*



+1 Profil

icon Re: Podešavanje servera za MySQL27.12.2011. u 21:53 - pre 149 meseci
Imam 12 SAS 15k po 146GB u IBM serveru na koji ide OpenSUSE sa kernel3.1. Kontao sam da podesim RAID:

2x146 u RAID1 -> mountujem /
2x146 u RAID1 -> mountujem /log
8x146 u RAID10 -> mountujem /usr na XFS gdje će mi biti datadir i binlog

Da li je ovo OK? Kako bolje da iskoristim diskove, a da mi datadir i binlog budu na razlicitim RAID-ovima?
Da li da napravim 2 RAID10 sa po 4 diska, na jedan stavim /usr sa datadir, a drugi da ostavim za binlog? Sta da mountujem na taj drugi RAID10?
Koji je odnos velicina datadira i binloga?

Server je sa battery backup RAID kontrolerom, da li i kako da ugasim write barrier?
Kako da setujem XFS, tj. koje opcije da postavim u /etc/fstab?

Swappines podesim na 0 sa vm.swappiness=0 u /etc/sysctl.conf?
 
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: Podešavanje servera za MySQL27.12.2011. u 23:51 - pre 149 meseci
ja bi /log stavio na raid0 nema potrebe da ide na raid1, tu bi turio i binlog i ostale mysql logove

ostalo ok, jedino bi na taj raid 10 stavio lvm pa preko lvm-a xfs pa na to datadir i ne bi ga mountovo na /usr (/usr ostavis na sistemskom disku) nago na /MYSQL_DATADIR ili tako nesto .. u svakom slucaju da bude "samo za mysql" ... obavezno lvm da bi lako radio bekap etc...

ako imas batt bekap onda mountujes xfs sa "nobarrier" ... tj, ja ga mountujem sa: nobarrier,noatime,nosuid


> Koji je odnos velicina datadira i binloga?

ne kontam?
 
Odgovor na temu

maroon984

Član broj: 284654
Poruke: 57
*.teol.net.



+1 Profil

icon Re: Podešavanje servera za MySQL28.12.2011. u 09:59 - pre 149 meseci
Citat:
ako imas batt bekap onda mountujes xfs sa "nobarrier" ...

Imam battery backup na RAID kontroleru, nadam se da na to mislis...

Citat:
> Koji je odnos velicina datadira i binloga?

ne kontam?

Pa recimo za bazu od 50G, koja velicina binloga se kreira?
 
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: Podešavanje servera za MySQL28.12.2011. u 17:28 - pre 149 meseci
da mislim na battery backup samo me mrzi da kucam pa kucam samo batt :D

obrati paznju da li stvarno imas i bateriju!!!! imao sam mnog susreta sa ljudima koji su kupili i instalirali kontroller sa battery backupom da bi posle crash-a saznali da uz njega ne dolazi baterija, te da se baterija posebno montira i povezuje na kontroler :)

binlog nema apsolutno nikakve veze sa datadir-om. binlog se kreira kada ti izvrsavas upite koji prave promene nad bazom ako je ukljucen binlog. tu se nalazi log svih promena nad bazom, i on raste dok ne resetujes mysql ili ne flashujes log, onda se isti rotira. Dakle ako ti ima petabajt veliku bazu i nad njom ne izvrsis nijedan update, binlog ce biti nula. A mozes da imas bazu od 100 kilobajta gde binlog raste 1 terabajt dnevno ..

da nisi mozda mislio na innodb_log_file_size ? to nema nikakve veze sa binlog-om, a ne definise se preko velicine datadira nego vezano za velicinu innodb buffer pool-a. Za generalni slucaj innodb_log_file_size treba da bude 25% od innodb_buffer_pool_size, mada postoje iznimke pa je ponekad i 50% dobra cifra. Ako ti je bitan brz oporavak baze onda 5-10% ... ali od buffer pool-a nema velicina datadira sa tim nikakve veze
 
Odgovor na temu

maroon984

Član broj: 284654
Poruke: 57
188.246.92.*



+1 Profil

icon Re: Podešavanje servera za MySQL28.12.2011. u 21:49 - pre 149 meseci
Poznat mi je slucaj sa kontrolerom sa b.b. koji nije imao bateriju, tako da sam provjerio vise puta. :)

Ma mislio sam da taj binlog malo drugacije radi, ali sada sam ukapirao par stvari...

E sada, kada bih imao server na kome je binlog ukljucen "od nule", (tj. SVE promjene se upisivale u binlog) i kada bih njega "proglasio" za master-a, a na serveru koji je "prazan" i koji hocu da ubacim kao slave, konfigurisao da je MASTER_LOG_FILE='blabla-bin.000001' i MASTER_LOG_POS=1, (BEZ OBZIRA sto se master server restartovao nekoliko puta i trenutni binlog nije 'blablabla-bin.000001' nego neki 16-i na nekoj tamo poziciji) sve to BEZ PROBLEMA repliciralo na slave?

Mozda je glupo pitanje i zapazanje, ali mi je do sada praksa bila:
- zaustavi master,
- bekapuj master,
- razmotaj na slave,
- procitaj master status,
- promjeni parametre na slaveu da ide sa procitanog binloga od procitane pozicije,
- pusti master da radi...

Isto pretpostavljam da to vazi sve dok se ne uradi flush logs....
 
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: Podešavanje servera za MySQL28.12.2011. u 22:08 - pre 149 meseci
Citat:
maroon984:
E sada, kada bih imao server na kome je binlog ukljucen "od nule", (tj. SVE promjene se upisivale u binlog) i kada bih njega "proglasio" za master-a, a na serveru koji je "prazan" i koji hocu da ubacim kao slave, konfigurisao da je MASTER_LOG_FILE='blabla-bin.000001' i MASTER_LOG_POS=1, (BEZ OBZIRA sto se master server restartovao nekoliko puta i trenutni binlog nije 'blablabla-bin.000001' nego neki 16-i na nekoj tamo poziciji) sve to BEZ PROBLEMA repliciralo na slave?


teoretski DA. Bez obzira koliko puta si resetovao mysql, flushovo logove etc etc ako nisi brisao logove i ako nisi setovao neki proces da ih brise, "jednom" ce slave stici master. Problem je sto ce to da traaaaaaaaaaaaajeeeeeeeeee. Slave mnogo sporije izvrsava upite od mastera zato sto se ceo binlog na slave-u izvrsava u samo jednom tredu tako da nema paralelizacije, nego jedan po jedan, tako da .. ako master nesto "radi" i nastavi da puni log, slave ga najverovatnije nikad nece sustici.


E sad ako pravis slave, suvise je sporo da juris od pocetka server, to ce da traje sto godina posto se slave executor vrti u jednom tredu... to sto si radio je ok,
1. stop master
2. pobrises mu binary log i binary log index, upalis binlogging, iskopiras ceo datadir "sa strane" (ili npr napravis lvm snapshot)
3. start master
i sada imas master koji vozi dalje i binloguje od trenutka kad si ga startovao, iskopiras onu kopiju datadir-a (ili iskopiras datadir sa lvm-a) na slave, pocistis na slave datadiru-u sve vezano za binlog, startujes slave, set master, start slave ..


 
Odgovor na temu

after
Ajvanho, ING

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



+6 Profil

icon Re: Podešavanje servera za MySQL08.03.2012. u 18:21 - pre 146 meseci
Nisam obracao paznju ranije na deo u bin logu koji loguje ko je izvrsio neki drop/delete/insert upit.

Za razliku od general i slow loga gde je u formatu nesto kao:

#Time ... user .. host..

kod binloga je u formatu:

#Time .... server_id...thread_id=x
delete...

Info o useru/hostu za aktuelan thread_id moze se izvuci iz show processlist ako je taj thread/user jos logovan. Da li postoji nacin da se binlog iskoristi za audit i posle par dana i da se dobije info ko je user/host koji je pod odredjenim thread_id izvrsio neki delete upit ako je general log iskljucen (a slow log nije zabelezio taj dogadjaj).

Bilo bi odlicno da moze :). Jer osim vracanje stanja pre nekog nezeljenog dogadjaja, binlog bi imao svrhu odlicnog audit loga.

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: Podešavanje servera za MySQL08.03.2012. u 18:27 - pre 146 meseci
ne mozes da koristis binlog za auditing
 
Odgovor na temu

after
Ajvanho, ING

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



+6 Profil

icon Re: Podešavanje servera za MySQL08.03.2012. u 18:30 - pre 146 meseci
Da...mora da se pali i general log nazalost za kakav takav audit
 
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: Podešavanje servera za MySQL08.03.2012. u 18:34 - pre 146 meseci
moze da se odradi auditing plugin na 5.5 kroz auth interface .. takodje ako nemas usere koji pristupaju sa lokalnog servera mozes da turis proxy, za njega imas onaj lua auditing plagin sto sam ja pisao .. koristi ga dosta ljudi u produkciji
 
Odgovor na temu

after
Ajvanho, ING

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



+6 Profil

icon Re: Podešavanje servera za MySQL08.03.2012. u 18:49 - pre 146 meseci
Eksperimentisao sam ranije sa trigerima koji "monitoriraju" odredjenu tabelu i sa init opcijom u my.cnf koja puni neku audit tabelu kada se user loguje na bazu. Ali su mi ta dva resenja bila suvise neelegantna.

Tada sam nesto petljao i sa mysql proxy i tvojom lua skriptom ali sam na kraju i to ostavio na stranu. Doduse tada mi je ideja bila (nemoguca) provera vremena zadnje promene innodb tabela.

Probacu ponovo sa mysql proxy i lua u svrhu kompletnog audit resenja.
 
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: Podešavanje servera za MySQL08.03.2012. u 21:37 - pre 146 meseci
proxy i lua je ok zato sto vec postoji i radi, ali pogledaj malo auth plugin interface to moze da se odradi kroz njega mnooogo bolje
 
Odgovor na temu

[es] :: MySQL :: Podešavanje servera za MySQL

[ Pregleda: 2119 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

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