MySQL – Częste zwroty

Kilka komend pomagających w administracji bazą danych MySQL, głównie te które pomagają w utrzymaniu wysokiej wydajności całości czyli optymalizacja i backup’y…


MySQL. Szybki start. Wydanie II

MySQL. Szybki start. Wydanie II

Autor:
Larry Ullman

ISBN:
83-246-0665-3

Format:
B5

Liczba stron:
480

Data wydania:
2007-01-30

Cena:
79.00zł


Wykonanie zrzutu wszystkich baz danych wykonywana z poziomu root’a:

mysqldump –all-databases -p < backupsql.sql

Kopia jednej bazy danych wykonana jako konkretny użytkownik:

mysqldump nazwa_bazy -u nazwa_usera -p –single-transaction < nazwa_bazy.sql

Kopia jednej tabeli wykonywana przez określonego usera bazy danych:

mysqldump -c -u user -p nazwa_bazy nazwa_tabeli < nazwa_bazy-nazwa_tabeli.sql

Przywracamy kopię zapisanej baz danych:

mysql -u user -p < kopiabazy.sql

Przy przywracaniu kopii bazy danych musimy zwrócić uwagę czy dany user ma wystarczające uprawnienia do tworzenia baz danych czy nawet tabel…

Dodawanie wszystkich uprawnień wygląda następująco:

grant all on nazwa_bazy.* to nazwa_usera@localhost identified by „jakies_haslo”;

Usunięcie wszystkich uprawnień dla usera to komenda revoke która przykładowo może wyglądać tak:

revoke all privileges on nazwa_bazy.* from nazwa_usera@localhost;

Wcześniej możemy sprawdzić jakiego typu uprawnienia ma dany user:

show grants for nazwa_usera@localhost

nazwa_usera@localhost określa nie tylko nazwę użytkownika, @localhost określa dostęp do bazy tylko z lokalnego hosta jeśli zamiast nazwa_usera@localhost podamy nazwa_usera@’%’ oznaczać to będzie dostęp do konkretnej bazy również z hostów zewnętrznych.

Reperacja określonej tabeli polega na wydaniu serii komend:
logowanie:

mysql -u root -p

wybranie bazy:

use nazwa_bazy;

optymalizacja tabeli:

check table nazwa_tabeli;

naprawa tabeli:

repair table nazwa_tabeli;

Wcześniej oczywiście możemy zapoznać się z zawartością bazy za pomocą polecenia:

show tables;

W przypadku gdy chcemy zoptymalizować wszystkie obsługiwane bazy danych przechowywane na serwerze, zadanie może być dość pracochłonne w przypadku gdy analizujemy i optymalizujemy wszystkie elementy ręcznie. Możemy oczywiście stworzyć skrypt który załatwi całość za nas, ale jest wygodniejsze rozwiązanie… Do całościowego obsłużenia zagadnienia optymalizacji, naprawy czy sprawdzania MySQL służy polecenie:

mysqlcheck -u root -p –auto-repair –check –optimize –all-database

Którego wywołanie sprawdzi nam wszystkie zawarte w MySQL’u bazy danych co w połączeniu z cronem sprawi że sprawdzanie i optymalizacja czy reperowanie baz danych w MySQL’u odejdzie w niepamięć :)

Z kolei

mysqlcheck -u username -p -auto-repair -check -optimize –database nazwa_bazy

Zoptymalizuje tylko jedną bazę danych „nazwa_bazy”

Leave a Reply