/dev/stderr

o věcech internetových a linuxových.

Tag: MySQL

CentOS 5, Django a MySQL

V poslední době si pohrávám s pythoním webovým frameworkem Django a jal jsem se ho zkoušet na svém serveru s OS CentOS 5.5. Protože jsem od přírody lenoch, nechtělo se mi experimentovat s jinými databázemi než na serveru mám – skončil jsem u MySQL. Uznávám, ještě by šlo použít sqlite, ale já jsem přeci jen s tím MySQL nějak víc kamarád.

django logoPročetl jsem pár blogpostů a příspěvků o tom, že pod CentOSem je problém podporu MySQL pro python (MySQLdb) rozjet, protože balík z repozitářů (MySQL-python), který to má obstarávat je satršího data (v repozitářích je aktuálně verze 1.2.1-1) a že nejlepší je kompilace aktuálního balíku. Nene, jeden balík je tu … schovaný.

Read the full post »

Přesun MySQL na nový server

Nedávno jsem se setkal s dotazem, jak přesunout celý MySQL server na nový fyzický stroj a přistupovat na něj odjinud (např. pomocí phpMyAdmin). Z poznámek jsem sepsal krok za krokem “jak na to” pěkně od začátku. A nebojte, není to nic složitýho… Ale pozor, jakmile se něco pokazí, můžete přijít o všechna data…

Read the full post »

Obnovení root hesla v MySQL

Lidé jsou hajdaláci: hesla si píší na papírky, které lepí kolem monitoru a  když se ztratí, jsou v pytli. Pak se na fórech objevuje spousta dotazů typu: “Ztratil jsem heslo k root účtu do MySQL, co mám dělat????” (čím víc otazníků, tím víc otázka). Z odpovědí na ně plyne, že nezbývá nic jiného, než zazálohovat všechna data, odinstalovat a znovu nainstalovat a nastavit MySQL. Ale vždyť to je hloupost…

Pro ty, kteří se nekamarádí s googlem nebo s angličtinou tu mám jednoduchý návod. V 5ti jednoduchých krocích:

Uživatelé distribuce Debian (nebo Ubuntu a dalších klonů) nemusí experimentovat, koukněte do komentářů.

1) Zastavte MySQL server

$ /etc/init.d/mysqld stop

2) Nastartujte MySQL server (přepínač --skip-grant-tables nám zajistí nastartování serveru bez autorizačních tabulek)

$ mysqld_safe --skip-grant-tables &

3) Připojte se jako root (ano, opravdu to půjde)

$ mysql -u root

4) v databázi mysql změníme pro uživatele root hesla

mysql> use mysql;
mysql> update user set password=PASSWORD("NaseTajneHeslo") where User='root';
mysql> flush privileges;

5) Heslo je nastaveno, tak restartujem a fungujem

$ /etc/init.d/mysqld restart
$ mysql -u root -p

enjoy!
Zdroj: www.cyberciti.biz

Logování MySQL slow queries + logrotation

Logování slow query neboli dotazů, jejichž zpracování trvá databázi déle než je stanovený long_query_time (ve výchozím nastavení 10 sekund) se hodí na serverech, na nichž běží jeden větší projekt nebo pár menších, do kterých vidí administrátor serveru a je v jejich zájmu aplikace optimalizovat. Nechat si logovat pomalé dotazy na sdíleném webhostingu může být pro admina zajímavé až ve chvíli, kdy Vám databázi bude někdo soustavně zatěžovat. Takže, jak na to?
Read the full post »