|
Страници по тази тема: 1 | 2 | (покажи всички)
Тема
|
MySQL_Nikoga - Ili saveti ot lichen opit
|
|
Автор |
salle (рЮЙЗБ) |
Публикувано | 10.04.01 14:40 |
|
1. Nikoga ama nikoga ne startiraite MySQL kato root - Logicata e dobre izvestna. S poslednite versii e trudno da go napravite.
2. Nikoga ne ostaviaite User na MySQL bez Parola - veski mozhe da napravi:
mysql -u tozi_user
I da poluchi pravata koito tozi_user ima.
2.1. Osobeno silno vazhi za mysql-root-user.
Logicata e ...
2.2. Druga seriozna opasnost. Vseki user s File_Priv mozhe da chete i pishe failove do koito Mysqld_user-a ima dostap.
Chesto prenebregvan fakt.
User s remote dostap do mysql mozhe da napravi
load data infile '/etc/passwd' into table temptbl;
i oshte po-nepriatnoto:
select * from temptbl into outfile '/usr/sbin/neshto_sus_777';
t.e. root-a triabva dosta da vnimava kade i kakvi tochno rw prava ima mysqld-usera
'/etc/passwd' edva li e nai-strashnia primer no pomisltete za /tmp /var/log /usr i t.n. interesni direktorii da ne govorim kolko neshta v /etc sa s 644 na VASHIA server.
3. Vnimavaite da ima svobodno prostranstvo v tmpdir na mysql. Tam se pishat temp tablicite
a dosta select-ove praviat takiva vkl i ne osobeno ochevidni. select * order by desc;
Ta ako se chudite zashto bi dava greshka 28 (not enough free space) pri polozhenie che v datadir ima 12 Gb - poglednete tmp
4. Neshto mnogo seriozno.
mysqld -Sg (--skip-grant-tables)
Nalaga se poniakoga - zabravena root parola nai-chesto.
Vinagi puskaite
safe_mysqld --skip-grant-tables --skip-networking
Tova go niama v dokumentaciata, no horata ot
mysql na koito sam go kazval sa saglasni s men che e dobre da e taka po default.
V dokumentaciata: This gives everyone full access to all databases!
Niama logika v momenta kogato pravite takova neshto mysqld da slusha na port 3306.
V mnogo sluchai mysql se iszpolzva samo ot localhost - tipichen primer: apache + mysql na edno PC.
Stranno, no mnogo hora se oburkvat. Apache se iaviava http_user@localhost i ot remote dostap niama nuzhda.
Pomislete dali izobshto iskate remote dostap i dali de ne izpolzvate --skip-networking po default.
5. Nikoga ne zabraviaite che vseki user dori samo sas SELECT prava za 1 tablica mozhe da vi napravi DoS ataka. Dostatachno e:
select * from tablica_okolo_1Gb order by ..;
Po-loshoto e che mozhe da go napravi po nevnimanie ili nekadurnost.
Taka che davaneto na remote dostap do mysql server ne e mnogo po-razlichno ot davaneto na shell. Imam predvid doverieto koeto imate na user-a
Uspeh. I se nadiavam da sam kazal neshto polezno.
Linux is like a wigwam - No Windows, No Gates, Apache inside
| |
|
10х
| |
Тема
|
Re: MySQL_Nikoga - Ili saveti ot lichen opit
[re: salle]
|
|
Автор |
AcidMemory (AcidThing) |
Публикувано | 10.04.01 18:04 |
|
mdam, dobro opisanie na chesto sreshtani problemi
btw dobre e da se opishe i kak da se naprawi edna hubava kompilaciq na mysql, tyj kato byrzodejstwieto moje da se powishi s nad 50%, osobeno pri izpolzwane na pgcc, static linking, compile samo s edin character set i razni drugi takiwa extri (ne na posledno mqsto idwa i towa kakse build-wat zaqwkite, kak se organizira bazata i kakwi indexi se prawqt). Mene me myrzi, tyj che ima edna statiq w devshed.com - mislq beshe "Optimizing MySQL", ta tam dobre sa opisani dosta poveche ot tezi osnowni neshta.
| |
Тема
|
Re: MySQL_Nikoga - Ili saveti ot lichen opit
[re: AcidMemory]
|
|
Автор |
salle (рЮЙЗБ) |
Публикувано | 10.04.01 19:23 |
|
Ne znam dali tova imash predvid no e dosta dobro.
Vse pak se predpolaga che Monty razbira neshto ot MySQL :)
Linux is like a wigwam - No Windows, No Gates, Apache inside
| |
|
и от мен :)
| |
Тема
|
Re: MySQL_Nikoga - Ili saveti ot lichen opit
[re: salle]
|
|
Автор |
AcidMemory (AcidThing) |
Публикувано | 11.04.01 12:02 |
|
wsystnost ne towa (imajki w predwid "Optimizing MySQL"), no towa imah w predwid po nadolu. stawashe wypros za optimizirane pri compiliraneto na mysql-a, koeto moje da se prochete eto tuk: (mnogo gotina statiq)
http://www.devshed.com/Server_Side/MySQL/Optimize/print.html
| |
|
Loshoto e che mnogo hora zapochvat da optimizirat servera vkl. nov hardware bez da se zamisliat za optimizacia na SQL-a
A dokato smianata na PII450 s 4procesoren Xeon mozhe da dokara - 300-400% podobrenie
optimizacia na zaiavkite mozhe da dovede do nad 10000% razlika - niama gorna granica.
Loshi spomeni ot praktikata. Kupuvame si vididh li vse po-moshtni serveri shtoto e bavno a mysqldup vadi 20-na tablici v koito NIAMA NITO EDIN INDEX !!!
Seshtate li se primerno:
select * where insert_date between '2000-11-01' and '2000-12-01';
Kolko po-burzo raboti ako ima key(insert_date)?
V konkretnia sluchai okolo 50
t.e. 5000%
Dokato za pgcc kazvat che dava okolo 30%
Ne che ne triabva da se optimizra servera de :)
Pri men configure pochva s:
CFLAGS="-O6 -mpentiumpro -fomit-frame-pointer" CXX=gcc \
CXXFLAGS="-O6 -mpentiumpro -fomit-frame-pointer \
-felide-constructors -fno-exceptions -fno-rtti"
Dokolkoto pomnia sam go vzel ot mysql manual
Linux is like a wigwam - No Windows, No Gates, Apache inside
| |
Тема
|
Re: MySQL_Nikoga - Ili saveti ot lichen opit
[re: salle]
|
|
Автор |
Дизeлджия (DieselOS) |
Публикувано | 11.04.01 15:37 |
|
Mmmda, tova trqbva da se znae i da se spazva.
Oshte neshto: Ne e losho da se organichat tcp vruzkite samo za tezi koito imat rabota s mysql-a, s firewall naprimer.
| |
Тема
|
Re: MySQL_Nikoga - Ili saveti ot lichen opit
[re: Дизeлджия]
|
|
Автор |
AcidMemory (AcidThing) |
Публикувано | 11.04.01 17:29 |
|
razbira se, demilitariziranata zona e dobra, no ako w neq ima oshte edin firewall, koito da puska samo SQL protokola (za kym db server-a), e oste po-dobre.
drugiq wariant e, kakto salle kaza, da ne se puska listener za nawyn, towa obache, ako webserver-a i bazata sa na edno mqsto (ama towa w povecheto sluchaj, w koito trqbwa, e newyzmojno - oswen za leki bazi, s mysql primerno)
| |
Тема
|
Re: MySQL_Nikoga - Ili saveti ot lichen opit
[re: Дизeлджия]
|
|
Автор |
salle (рЮЙЗБ) |
Публикувано | 11.04.01 19:21 |
|
E to tova s firewala se podrazbira :))
Obache imah mnogo gaden problem. Ne samo s mysql-a
Apache+PHP na server s niakolko IP-ta
mysql na drug server s otvoren port 3306 samo za 1 ot gornite IP-ta
E da ama mysql_connect() ot mashinata izliza prez koeto si iska IP
Probvah s route ama vsichki IP-ta sa na eth0 i nishti ne postignah
Niakakvi idei?
Linux is like a wigwam - No Windows, No Gates, Apache inside
| |
|
Страници по тази тема: 1 | 2 | (покажи всички)
|
|
|