Szczegóły ebooka

MySQL. Vademecum profesjonalisty. Wydanie V

MySQL. Vademecum profesjonalisty. Wydanie V

Paul DuBois

Ebook

Kompendium wiedzy o MySQL!

MySQL to jedna z najpopularniejszych baz danych wykorzystywanych we współczesnych aplikacjach internetowych. Swój sukces zawdzięcza prostej konfiguracji, niewielkim wymaganiom oraz wysokiej niezawodności. Jeżeli do tego dołożymy genialny współczynnik możliwości do ceny — baza jest darmowa — oraz doskonałą współpracę z językiem PHP, to otrzymamy rewelacyjny produkt. Warto pamiętać, że MySQL to prawdziwy system bazodanowy, wspierający zaawansowane techniki replikacji danych i mogący przechowywać bez problemu miliardy rekordów.

Ta książka to kompletny poradnik poświęcony wykorzystaniu bazy danych MySQL oraz administrowaniu tą bazą. W trakcie lektury dowiesz się, jak najlepiej składować dane w bazie, jak optymalizować zapytania oraz jak pobierać metadane. Ponadto nauczysz się uzyskiwać dostęp do bazy z użyciem języków C, Perl oraz PHP. Niezwykle istotna jest część trzecia niniejszej publikacji. Poświęcona została w całości zagadnieniom związanym z administrowaniem bazą MySQL. Zrozumiesz dzięki niej, w jaki sposób baza przechowuje dane, jak zoptymalizować jej wydajność oraz co musisz zrobić, by zagwarantować najwyższy poziom bezpieczeństwa. Warto, żebyś zawczasu zapoznał się z rozdziałem poświęconym wykonywaniu i odtwarzaniu kopii zapasowej. Książka jest doskonałym źródłem informacji zarówno dla programistów, jak i administratorów korzystających z tej bazy danych.

Dzięki tej książce:
- poznasz dogłębnie bazę danych MySQL
- zoptymalizujesz jej działanie
- podłączysz się do jej zasobów za pomocą języków C, Perl i PHP
- w pełni wykorzystasz potencjał bazy danych MySQL

Wykorzystaj potencjał bazy danych MySQL!

 


 

O autorze (17)

Wprowadzenie (19)

CZĘŚĆ I. OGÓLNE UŻYCIE MYSQL

Rozdział 1. Rozpoczęcie pracy z MySQL (33)

  • 1.1. W jaki sposób MySQL może Ci pomóc? (33)
  • 1.2. Przykładowa baza danych (37)
    • 1.2.1. Projekt "Liga Historyczna USA" (37)
    • 1.2.2. Projekt "Oceny uczniów" (40)
    • 1.2.3. Jak przykładowa baza danych może Ci pomóc? (41)
  • 1.3. Podstawowa terminologia bazy danych (41)
    • 1.3.1. Terminologia strukturalna (42)
    • 1.3.2. Terminologia języka zapytań (44)
    • 1.3.3. Terminologia architekturalna MySQL (45)
  • 1.4. Przewodnik po MySQL (46)
    • 1.4.1. Pobranie przykładowej bazy danych (47)
    • 1.4.2. Wymagania wstępne (47)
    • 1.4.3. Nawiązywanie i zrywanie połączenia z serwerem MySQL (49)
    • 1.4.4. Wykonywanie zapytań SQL (51)
    • 1.4.5. Tworzenie bazy danych (54)
    • 1.4.6. Tworzenie tabel (55)
    • 1.4.7. Dodawanie nowych rekordów (75)
    • 1.4.8. Przywrócenie bazy danych sampdb do znanego stanu (79)
    • 1.4.9. Pobieranie informacji (80)
    • 1.4.10. Usuwanie lub uaktualnianie istniejących rekordów (110)
  • 1.5. Wskazówki przydatne podczas pracy z klientem mysql (113)
    • 1.5.1. Uproszczenie procesu nawiązywania połączenia (113)
    • 1.5.2. Wpisywanie mniejszej ilości tekstu przy wykonywaniu zapytań (115)
  • 1.6. Co dalej? (120)

Rozdział 2. Użycie MySQL do zarządzania danymi (123)

  • 2.1. Tryby SQL serwera (124)
  • 2.2. Identyfikatory składni MySQL i reguły nadawania nazw (126)
  • 2.3. Wielkość liter w zapytaniach SQL (128)
  • 2.4. Obsługa kodowania znaków (130)
    • 2.4.1. Określenie kodowania znaków (131)
    • 2.4.2. Określenie dostępności kodowania znaków i ustawień bieżących (132)
    • 2.4.3. Obsługa Unicode (133)
  • 2.5. Wybór, utworzenie, usunięcie i zmiana bazy danych (134)
    • 2.5.1. Wybór bazy danych (134)
    • 2.5.2. Utworzenie bazy danych (135)
    • 2.5.3. Usunięcie bazy danych (136)
    • 2.5.4. Zmiana bazy danych (136)
  • 2.6. Tworzenie, usuwanie, indeksowanie i modyfikowanie tabel (137)
    • 2.6.1. Cechy charakterystyczne silników bazy danych (137)
    • 2.6.2. Tworzenie tabel (143)
    • 2.6.3. Usuwanie tabel (152)
    • 2.6.4. Indeksowanie tabel (153)
    • 2.6.5. Zmiana struktury tabeli (158)
  • 2.7. Pobieranie metadanych bazy danych (161)
    • 2.7.1. Pobieranie metadanych za pomocą zapytania SHOW (162)
    • 2.7.2. Pobieranie metadanych z bazy danych INFORMATION_SCHEMA (164)
    • 2.7.3. Pobieranie metadanych z poziomu wiersza poleceń (166)
  • 2.8. Pobieranie danych z wielu tabel za pomocą złączeń (167)
    • 2.8.1. Złączenia wewnętrzne (169)
    • 2.8.2. Kwalifikowane odwołania do kolumn z poziomu złączonych tabel (170)
    • 2.8.3. Złączenia typu LEFT i RIGHT (OUTER) (171)
  • 2.9. Pobieranie informacji z wielu tabel za pomocą podzapytań (175)
    • 2.9.1. Podzapytania używające względnych operatorów porównania (176)
    • 2.9.2. Podzapytania IN i NOT IN (177)
    • 2.9.3. Podzapytania ALL, ANY i SOME (178)
    • 2.9.4. Podzapytania EXISTS i NOT EXISTS (179)
    • 2.9.5. Podzapytania skorelowane (180)
    • 2.9.6. Podzapytania w klauzuli FROM (181)
    • 2.9.7. Przepisywanie podzapytań na postać złączeń (181)
  • 2.10. Pobieranie informacji z wielu tabel za pomocą zapytań UNION (183)
  • 2.11. Usuwanie i uaktualnianie rekordów w wielu tabelach (186)
  • 2.12. Przeprowadzanie transakcji (188)
    • 2.12.1. Użycie transakcji do zapewnienia bezpiecznego środowiska wykonywania (190)
    • 2.12.2. Użycie punktów pośrednich transakcji (194)
    • 2.12.3. Izolacja transakcji (194)
  • 2.13. Klucze zewnętrzne i integralność odwołań (197)
  • 2.14. Wyszukiwanie pełnego tekstu (204)
    • 2.14.1. Wyszukiwanie pełnego tekstu w języku naturalnym (207)
    • 2.14.2. Wyszukiwanie pełnego tekstu w trybie boolowskim (208)
    • 2.14.3. Wyszukiwanie rozszerzone o wynik zapytania (210)
    • 2.14.4. Konfiguracja silnika wyszukiwania pełnego tekstu (211)

Rozdział 3. Typy danych (213)

  • 3.1. Kategorie wartości danych (215)
    • 3.1.1. Wartości liczbowe (215)
    • 3.1.2. Wartości ciągu tekstowego (217)
    • 3.1.3. Wartości daty i godziny (226)
    • 3.1.4. Wartości przestrzenne (226)
    • 3.1.5. Wartości boolowskie (227)
    • 3.1.6. Wartość NULL (227)
  • 3.2. Typy danych w MySQL (227)
    • 3.2.1. Ogólny opis typów danych (228)
    • 3.2.2. Określenie typów kolumn w definicji tabeli (230)
    • 3.2.3. Definiowanie wartości domyślnych kolumn (231)
    • 3.2.4. Liczbowe typy danych (232)
    • 3.2.5. Typy danych w postaci ciągów tekstowych (240)
    • 3.2.6. Typy danych dla wartości daty i czasu (256)
  • 3.3. Jak MySQL obsługuje nieprawidłowe wartości danych? (267)
  • 3.4. Praca z sekwencjami (270)
    • 3.4.1. Ogólne właściwości AUTO_INCREMENT (270)
    • 3.4.2. Właściwości AUTO_INCREMENT charakterystyczne dla silnika bazy danych (272)
    • 3.4.3. Kwestie dotyczące kolumn AUTO_INCREMENT (275)
    • 3.4.4. Wskazówki pomocne podczas pracy z kolumnami AUTO_INCREMENT (276)
    • 3.4.5. Generowanie sekwencji bez AUTO_INCREMENT (278)
  • 3.5. Obliczanie wyrażeń i konwersja typu (280)
    • 3.5.1. Tworzenie wyrażeń (281)
    • 3.5.2. Konwersja typu (289)
  • 3.6. Wybór typu danych (297)
    • 3.6.1. Jakie wartości będą przechowywane w kolumnie? (299)
    • 3.6.2. Czy przechowywane wartości pochodzą z określonego zakresu? (302)

Rozdział 4. Widoki i programy składowane (305)

  • 4.1. Używanie widoków (306)
  • 4.2. Używanie programów składowanych (309)
    • 4.2.1. Zapytania złożone i ograniczniki zapytań (310)
    • 4.2.2. Procedury i funkcje składowane (311)
    • 4.2.3. Wyzwalacze (316)
    • 4.2.4. Zdarzenia (318)
  • 4.3. Zapewnienie bezpieczeństwa widokom i programom składowanym (320)

Rozdział 5. Optymalizacja zapytań (323)

  • 5.1. Użycie indeksowania (324)
    • 5.1.1. Zalety wynikające z indeksowania (324)
    • 5.1.2. Koszt indeksowania (327)
    • 5.1.3. Wybór indeksów (328)
  • 5.2. Optymalizator zapytań MySQL (333)
    • 5.2.1. Jak działa optymalizator zapytań? (334)
    • 5.2.2. Użycie zapytania EXPLAIN do sprawdzenia operacji optymalizatora (338)
  • 5.3. Wybór typu danych zapewniającego efektywne wykonywanie zapytań (344)
  • 5.4. Wybór formatu tabeli dla efektywnych zapytań (347)
  • 5.5. Efektywne wczytywanie danych (349)
  • 5.6. Harmonogram, blokady i współbieżność (352)

CZĘŚĆ II. UŻYCIE INTERFEJSU PROGRAMOWANIA MYSQL

Rozdział 6. Wprowadzenie do programowania MySQL (355)

  • 6.1. Dlaczego tworzyć własne aplikacje MySQL? (355)
  • 6.2. API dostępne dla MySQL (359)
    • 6.2.1. API C (360)
    • 6.2.2. API Perl DBI (360)
    • 6.2.3. API PHP (362)
  • 6.3. Wybór API (363)
    • 6.3.1. Przewidywane środowisko działania (364)
    • 6.3.2. Wydajność (365)
    • 6.3.3. Czas potrzebny na opracowanie aplikacji (366)
    • 6.4.3. Przenośność (367)

Rozdział 7. Tworzenie programów MySQL przy użyciu języka C (369)

  • 7.1. Kompilacja i linkowanie programów klienckich (370)
  • 7.2. Nawiązanie połączenia z serwerem (373)
  • 7.3. Obsługa błędów i przetwarzanie opcji polecenia (377)
    • 7.3.1. Sprawdzanie pod kątem błędów (377)
    • 7.3.2. Pobieranie parametrów połączenia w trakcie działania programu (382)
    • 7.3.3. Implementacja przetwarzania opcji w programie klienta (395)
  • 7.4. Przetwarzanie zapytań SQL (399)
    • 7.4.1. Obsługa zapytań modyfikujących rekordy (401)
    • 7.4.2. Obsługa zapytań zwracających zbiór wynikowy (402)
    • 7.4.3. Procedury obsługi zapytań ogólnego przeznaczenia (405)
    • 7.4.4. Alternatywne podejścia do przetwarzania zapytań (407)
    • 7.4.5. Funkcja mysql_store_result() kontra mysql_use_result() (408)
    • 7.4.6. Używanie metadanych zbioru wynikowego (411)
    • 7.4.7. Kodowanie znaków specjalnych i danych binarnych (416)
  • 7.5. Program do interaktywnego wykonywania zapytań (420)
  • 7.6. Utworzenie klienta z obsługą SSL (421)
  • 7.7. Jednoczesne wykonywanie wielu zapytań (426)
  • 7.8. Używanie zapytań preinterpretowanych (428)
  • 7.9. Użycie preinterpretowanego zapytania CALL (440)

Rozdział 8. Tworzenie programów MySQL przy użyciu Perl DBI (445)

  • 8.1. Cechy charakterystyczne skryptu Perl (446)
  • 8.2. Ogólny opis Perl DBI (447)
    • 8.2.1. Typy danych DBI (447)
    • 8.2.2. Prosty skrypt DBI (448)
    • 8.2.3. Obsługa błędów (453)
    • 8.2.4. Obsługa zapytań modyfikujących rekordy (456)
    • 8.2.5. Obsługa zapytań zwracających zbiór wynikowy (458)
    • 8.2.6. Cytowanie znaków specjalnych w ciągach tekstowych zapytań (467)
    • 8.2.7. Miejsca zarezerwowane i zapytania preinterpretowane (470)
    • 8.2.8. Dołączanie wyniku zapytania do zmiennych skryptu (474)
    • 8.2.9. Określenie parametrów połączenia (475)
    • 8.2.10. Usuwanie błędów (478)
    • 8.2.11. Używanie metadanych zbioru wynikowego (482)
    • 8.2.12. Przeprowadzanie transakcji (486)
  • 8.3. Praca z DBI (488)
    • 8.3.1. Generowanie katalogu Ligi Historycznej (488)
    • 8.3.2. Wysyłanie członkom Ligi przypomnień o konieczności przedłużenia członkostwa (495)
    • 8.3.3. Edycja rekordu członka Ligi Historycznej (500)
    • 8.3.4. Wyszukiwanie członków Ligi Historycznej o takich samych zainteresowaniach (506)
    • 8.3.5. Udostępnienie w internecie katalogu Ligi Historycznej (507)
  • 8.4. Użycie DBI w aplikacjach sieciowych (510)
    • 8.4.1. Konfiguracja Apache w celu obsługi skryptów CGI (512)
    • 8.4.2. Krótki opis modułu CGI.pm (513)
    • 8.4.3. Nawiązanie połączenia z serwerem MySQL z poziomu skryptu sieciowego (521)
    • 8.4.4. Przeglądarka bazy danych (523)
    • 8.4.5. Przeglądarka tabel projektu ocen uczniów (528)
    • 8.4.6. Wyszukiwanie wspólnych zainteresowań w projekcie Ligi Historycznej (531)

Rozdział 9. Tworzenie programów MySQL przy użyciu języka PHP (537)

  • 9.1. Ogólny opis PHP (539)
    • 9.1.1. Prosty skrypt PHP (541)
    • 9.1.2. Użycie biblioteki plików PHP w celu hermetyzacji kodu (545)
    • 9.1.3. Prosta strona pobierająca dane (550)
    • 9.1.4. Przetwarzanie wyników zapytania (554)
    • 9.1.5. Sprawdzanie pod kątem wartości NULL w wynikach zapytania (558)
    • 9.1.6. Używanie zapytań preinterpretowanych (559)
    • 9.1.7. Użycie miejsc zarezerwowanych do obsługi kwestii związanych z cytowaniem danych (559)
    • 9.1.8. Obsługa błędów (561)
  • 9.2. Praca z PHP (564)
    • 9.2.1. Aplikacja pozwalająca na wprowadzenie wyników uzyskanych przez uczniów (564)
    • 9.2.2. Tworzenie interaktywnego quizu w internecie (577)
    • 9.2.3. Edycja informacji o członkach Ligi Historycznej (582)

CZĘŚĆ III. ADMINISTRACJA MYSQL

Rozdział 10. Wprowadzenie do administracji bazą danych MySQL (591)

  • 10.1. Komponenty MySQL (592)
  • 10.2. Ogólna administracja MySQL (593)
  • 10.3. Kontrola dostępu i zapewnianie bezpieczeństwa (594)
  • 10.4. Obsługa bazy danych, tworzenie kopii zapasowych i replikacja (595)

Rozdział 11. Katalog danych w MySQL (597)

  • 11.1. Położenie katalogu danych (598)
  • 11.2. Struktura katalogu danych (599)
    • 11.2.1. W jaki sposób serwer MySQL zapewnia dostęp do danych? (600)
    • 11.2.2. Przedstawienie baz danych w systemie plików (602)
    • 11.2.3. Przedstawienie tabel w systemie plików (603)
    • 11.2.4. Przedstawienie widoków i wyzwalaczy w systemie plików (604)
    • 11.2.5. Jak zapytania SQL są mapowane na operacje na pliku tabeli? (604)
    • 11.2.6. Ograniczenia systemu operacyjnego w zakresie nazw obiektów bazy danych (605)
    • 11.2.7. Czynniki wpływające na maksymalną wielkość tabeli (607)
    • 11.2.8. Wpływ struktury katalogu danych na wydajność systemu (609)
    • 11.2.9. Pliki dzienników zdarzeń i stanu MySQL (611)
  • 11.3. Przeniesienie zawartości katalogu danych (613)
    • 11.3.1. Metody przenoszenia katalogu danych lub jego elementów (614)
    • 11.3.2. Przygotowania do operacji przeniesienia (615)
    • 11.3.3. Uzyskanie dostępu do wyniku przeniesienia (615)
    • 11.3.4. Przeniesienie całego katalogu danych (617)
    • 11.3.5. Przeniesienie poszczególnych baz danych (617)
    • 11.3.6. Przeniesienie poszczególnych tabel (618)
    • 11.3.7. Przeniesienie systemowej przestrzeni tabel InnoDB (618)
    • 11.3.8. Przeniesienie plików dzienników zdarzeń i stanu (619)

Rozdział 12. Ogólna administracja bazą danych MySQL (621)

  • 12.1. Zabezpieczenie nowej instalacji MySQL (622)
    • 12.1.1. Definiowanie haseł dla początkowych kont MySQL (622)
    • 12.1.2. Konfiguracja haseł dla serwerów dodatkowych (627)
  • 12.2. Konfiguracja uruchamiania i zamykania serwera MySQL (628)
    • 12.2.1. Uruchamianie serwera MySQL w systemach UNIX (628)
    • 12.2.2. Uruchamianie serwera MySQL w systemach Windows (634)
    • 12.2.3. Określanie opcji startowych serwera (637)
    • 12.2.4. W jaki sposób serwer nasłuchuje połączeń? (639)
    • 12.2.5. Zatrzymanie serwera (640)
    • 12.2.6. Odzyskanie kontroli nad serwerem, gdy nie można nawiązać z nim połączenia (641)
  • 12.3. Używanie zmiennych systemowych i stanu (644)
    • 12.3.1. Sprawdzanie i ustawienie wartości zmiennych systemowych (645)
    • 12.3.2. Sprawdzenie wartości zmiennej stanu (649)
  • 12.4. Interfejs wtyczek (651)
  • 12.5. Konfiguracja silnika bazy danych (654)
    • 12.5.1. Wybór silnika bazy danych (655)
    • 12.5.2. Wybór domyślnego silnika bazy danych (656)
    • 12.5.3. Konfiguracja silnika InnoDB (656)
  • 12.6. Kwestie związane z globalizacją (664)
    • 12.6.1. Konfiguracja obsługi stref czasowych (664)
    • 12.6.2. Ustawienie domyślnego kodowania znaków i kolejności sortowania (667)
    • 12.6.3. Wybór języka wyświetlania komunikatów błędów (667)
    • 12.6.4. Wybór ustawień językowych (668)
  • 12.7. Dostrajanie serwera (668)
    • 12.7.1. Zmienne systemowe ogólnego przeznaczenia do dostrajania serwera (670)
    • 12.7.2. Dostrajanie silnika bazy danych (673)
    • 12.7.3. Używanie bufora zapytań (680)
    • 12.7.4. Optymalizacje sprzętowe (682)
  • 12.8. Dzienniki zdarzeń serwera (684)
    • 12.8.1. Dziennik błędów (687)
    • 12.8.2. Ogólny dziennik zapytań (688)
    • 12.8.3. Dziennik wolno wykonywanych zapytań (689)
    • 12.8.4. Binarny dziennik zdarzeń (690)
    • 12.8.5. Dziennik przekazywania (692)
    • 12.8.6. Rejestracja zdarzeń w tabelach (692)
    • 12.8.7. Zarządzanie dziennikami zdarzeń (693)
  • 12.9. Uruchamianie wielu serwerów MySQL (701)
    • 12.9.1. Ogólne kwestie związane z uruchamianiem wielu serwerów (702)
    • 12.9.2. Konfiguracja i kompilacja różnych serwerów (705)
    • 12.9.3. Strategie podawania opcji startowych (707)
    • 12.9.4. Użycie skryptu mysqld_multi do zarządzania serwerem (708)
    • 12.9.5. Uruchamianie wielu serwerów w Windows (710)
    • 12.9.6. Uruchamianie klientów wielu serwerów (712)
  • 12.10. Uaktualnianie MySQL (712)

Rozdział 13. Bezpieczeństwo i kontrola dostępu (715)

  • 13.1. Zabezpieczenie dostępu do MySQL przez system plików (716)
    • 13.1.1. Jak ukraść dane? (717)
    • 13.1.2. Zabezpieczenie instalacji MySQL (718)
  • 13.2. Zarządzanie kontami użytkowników w MySQL (725)
    • 13.2.1. Zarządzanie kontem MySQL na wysokim poziomie (727)
    • 13.2.2. Nadawanie uprawnień (732)
    • 13.2.3. Wyświetlanie uprawnień użytkownika (744)
    • 13.2.4. Odbieranie uprawnień (744)
    • 13.2.5. Zmiana hasła lub zerowanie zapomnianego (745)
    • 13.2.6. Unikanie ryzyka związanego z kontrolą dostępu (746)
    • 13.2.7. Wtyczki metod uwierzytelniania i użytkownicy proxy (750)
  • 13.3. Struktura i zawartość tabel uprawnień (754)
    • 13.3.1. Istniejące w tabelach uprawnień kolumny dotyczące zasięgu udzielanego dostępu (757)
    • 13.3.2. Istniejące w tabelach uprawnień kolumny uprawnień (758)
    • 13.3.3. Istniejące w tabelach uprawnień kolumny uwierzytelnienia (759)
    • 13.3.4. Istniejące w tabelach uprawnień kolumny dotyczące SSL (759)
    • 13.3.5. Istniejące w tabelach uprawnień kolumny zarządzania zasobami (760)
  • 13.4. W jaki sposób serwer kontroluje dostęp uzyskiwany przez klientów? (761)
    • 13.4.1. Zawartość kolumn zasięgu (762)
    • 13.4.2. Weryfikacja uprawnień zapytania (764)
    • 13.4.3. Kolejność dopasowania kolumn zasięgu (766)
    • 13.4.4. Puzzle uprawnień (767)
  • 13.5. Konfiguracja bezpiecznych połączeń za pomocą SSL (770)

Rozdział 14. Obsługa bazy danych, kopie zapasowe i replikacja (775)

  • 14.1. Zasady obsługi profilaktycznej (775)
  • 14.2. Obsługa bazy danych w działającym serwerze (777)
    • 14.2.1. Blokowanie poszczególnych tabel w celu uzyskania dostępu tylko do odczytu lub odczytu i zapisu (779)
    • 14.2.2. Nałożenie na wszystkie bazy danych blokady pozwalającej jedynie na ich odczyt (782)
  • 14.3. Ogólne działania profilaktyczne (783)
    • 14.3.1. Używanie możliwości serwera w zakresie automatycznej naprawy (783)
    • 14.3.2. Harmonogram działań profilaktycznych (784)
  • 14.4. Tworzenie kopii zapasowej bazy danych (785)
    • 14.4.1. Cechy charakterystyczne przenośności silników bazy danych (788)
    • 14.4.2. Tworzenie kopii zapasowej za pomocą narzędzia mysqldump (790)
    • 14.4.3. Tworzenie binarnej kopii zapasowej (793)
    • 14.4.4. Tworzenie kopii zapasowej tabel InnoDB (795)
  • 14.5. Kopiowanie baz danych do innego serwera (796)
    • 14.5.1. Kopiowanie bazy danych za pomocą pliku kopii zapasowej (797)
    • 14.5.2. Kopiowanie baz danych z jednego serwera do innego (798)
  • 14.6. Sprawdzanie i naprawianie tabel bazy danych (798)
    • 14.6.1. Sprawdzanie tabel za pomocą zapytania CHECK TABLE (800)
    • 14.6.2. Naprawa tabel za pomocą zapytania REPAIR TABLE (801)
    • 14.6.3. Użycie narzędzia mysqlcheck do sprawdzania i naprawy tabel (801)
  • 14.7. Użycie kopii zapasowej do przywrócenia danych (803)
    • 14.7.1. Przywracanie całych baz danych (803)
    • 14.7.2. Przywracanie poszczególnych tabel (804)
    • 14.7.3. Ponowne wykonanie zapytań zapisanych w plikach binarnego dziennika zdarzeń (805)
    • 14.7.4. Rozwiązywanie problemów związanych z automatyczną naprawą w InnoDB (807)
  • 14.8. Konfiguracja serwerów replikacji (809)
    • 14.8.1. Jak działa replikacja? (809)
    • 14.8.2. Utworzenie relacji typu główny - podległy (811)
    • 14.8.3. Formaty rejestracji zdarzeń w dzienniku binarnym (815)
    • 14.8.4. Użycie serwera podległego replikacji do tworzenia kopii zapasowych (815)

DODATKI

Dodatek A. Oprogramowanie wymagane do użycia tej książki (819)

  • A.1. Pobranie dystrybucji sampdb zawierającej przykładową bazę danych (819)
  • A.2. Pobieranie serwera MySQL i powiązanego z nim oprogramowania (820)
  • A.3. Instalacja MySQL (822)
    • A.3.1. Tworzenie konta logowania dla użytkownika MySQL (823)
    • A.3.2. Instalacja MySQL (823)
    • A.3.3. Konfiguracja zmiennej środowiskowej PATH (824)
    • A.3.4. Inicjalizacja katalogu danych i tabel uprawnień (825)
    • A.3.5. Uruchamianie serwera (826)
    • A.3.6. Inicjalizacja innych tabel systemowych (827)
  • A.4. Informacje dotyczące instalacji Perl DBI (828)
  • A.5. Informacje dotyczące instalacji PHP i PDO (829)

Dodatek B. Przewodnik po typach danych (831)

  • B.1. Typy liczbowe (833)
    • B.1.1. Typy liczb całkowitych (834)
    • B.1.2. Typy liczb o stałej ilości cyfr (836)
    • B.1.3. Typy liczb zmiennoprzecinkowych (836)
    • B.1.4. Typ BIT (837)
  • B.2. Typy tekstowe (838)
    • B.2.1. Typy binarnych ciągów tekstowych (840)
    • B.2.2. Typy niebinarnych ciągów tekstowych (842)
    • B.2.3. Typy ENUM i SET (845)
  • B.3. Typy daty i godziny (845)

Dodatek C. Przewodnik po operatorach i funkcjach (851)

  • C.1. Operatory (852)
    • C.1.1. Kolejność operatorów (852)
    • C.1.2. Operatory grupowania (853)
    • C.1.3. Operatory arytmetyczne (854)
    • C.1.4. Operatory porównania (856)
    • C.1.5. Operatory bitowe (861)
    • C.1.6. Operatory logiczne (862)
    • C.1.7. Operatory rzutowania (864)
    • C.1.8. Operatory dopasowania wzorca (865)
  • C.2. Funkcje (869)
    • C.2.1. Funkcje porównań (870)
    • C.2.2. Funkcje rzutowania (872)
    • C.2.3. Funkcje liczbowe (873)
    • C.2.4. Funkcje ciągu tekstowego (878)
    • C.2.5. Funkcje daty i godziny (892)
    • C.2.6. Funkcje podsumowań (907)
    • C.2.7. Funkcje zapewnienia bezpieczeństwa oraz związane z kompresją (911)
    • C.2.8. Funkcje nakładania blokad doradczych (915)
    • C.2.9. Funkcje związane z adresem IP (917)
    • C.2.10. Funkcje XML (919)
    • C.2.11. Funkcje przestrzenne (920)
    • C.2.12. Różne funkcje (920)

Dodatek D. Przewodnik po zmiennych systemowych, stanu i użytkownika (927)

  • D.1. Zmienne systemowe (927)
    • D.1.1. Zmienne systemowe InnoDB (972)
  • D.2. Zmienne stanu (987)
    • D.2.1. Zmienne stanu InnoDB (994)
    • D.2.2. Zmienne stanu bufora zapytań (998)
    • D.2.3. Zmienne stanu SSL (999)
  • D.3. Zmienne zdefiniowane przez użytkownika (1000)

Dodatek E. Przewodnik po składni SQL (1003)

  • E.1. Składnia zapytań SQL (zapytania niezłożone) (1004)
  • E.2. Składnia zapytań SQL (zapytania złożone) (1103)
    • E.2.1. Polecenia struktury kontrolnej (1103)
    • E.2.2. Zapytania obsługi deklaracji (1105)
    • E.2.3. Zapytania obsługi kursora (1107)
    • E.2.4. Zapytania obsługi warunków (1108)
  • E.3. Składnia komentarzy (1112)

Dodatek F. Przewodnik po programie SQL (1115)

  • F.1. Wyświetlanie komunikatu pomocy programu (1116)
  • F.2. Określanie opcji programu (1117)
    • F.2.1. Opcje standardowe programu MySQL (1119)
    • F.2.2. Pliki opcji (1124)
    • F.2.3. Zmienne środowiskowe (1129)
  • F.3. Narzędzie myisamchk (1130)
    • F.3.1. Opcje standardowe obsługiwane przez myisamchk (1132)
    • F.3.2. Opcje charakterystyczne dla myisamchk (1132)
    • F.3.3. Zmienne narzędzia myisamchk (1136)
  • F.4. mysql (1137)
    • F.4.1. Opcje standardowe obsługiwane przez mysql (1139)
    • F.4.2. Opcje charakterystyczne dla mysql (1140)
    • F.4.3. Zmienne programu mysql (1145)
    • F.4.4. Polecenia programu mysql (1145)
    • F.4.5. Sekwencje definiujące znak zachęty mysql (1148)
  • F.5. mysql.server (1150)
    • F.5.1. Opcje obsługiwane przez mysql.server (1150)
  • F.6. mysql_config (1150)
    • F.6.1. Opcje charakterystyczne dla mysql_config (1151)
  • F.7. Skrypt mysql_install_db (1152)
    • F.7.1. Opcje standardowe obsługiwane przez mysql_install_db (1152)
    • F.7.2. Opcje charakterystyczne dla mysql_install_db (1152)
  • F.8. mysql_upgrade (1153)
    • F.8.1. Opcje standardowe obsługiwane przez mysql_upgrade (1153)
    • F.8.2. Opcje charakterystyczne dla mysql_upgrade (1154)
  • F.9. mysqladmin (1154)
    • F.9.1. Opcje standardowe obsługiwane przez mysqladmin (1154)
    • F.9.2. Opcje charakterystyczne dla mysqladmin (1155)
    • F.9.3. Zmienne dla mysqladmin (1155)
    • F.9.4. Polecenia mysqladmin (1156)
  • F.10. mysqlbinlog (1158)
    • F.10.1. Opcje standardowe obsługiwane przez mysqlbinlog (1159)
    • F.10.2. Opcje charakterystyczne dla mysqlbinlog (1159)
    • F.10.3. Zmienne dla mysqlbinlog (1162)
  • F.11. mysqlcheck (1163)
    • F.11.1. Opcje standardowe obsługiwane przez mysqlcheck (1163)
    • F.11.2. Opcje charakterystyczne dla mysqlcheck (1163)
  • F.12. mysqld (1167)
    • F.12.1. Opcje standardowe obsługiwane przez mysqld (1168)
    • F.12.2. Opcje charakterystyczne dla mysqld (1168)
    • F.12.3. Zmienne dla mysqld (1180)
  • F.13. mysqld_multi (1180)
    • F.13.1. Opcje standardowe obsługiwane przez mysqld_multi (1180)
    • F.13.2. Opcje charakterystyczne dla mysqld_multi (1181)
  • F.14. mysqld_safe (1181)
    • F.14.1. Opcje standardowe obsługiwane przez mysqld_safe (1182)
    • F.14.2. Opcje charakterystyczne dla mysqld_safe (1182)
  • F.15. mysqldump (1184)
    • F.15.1. Opcje standardowe obsługiwane przez mysqldump (1184)
    • F.15.2. Opcje charakterystyczne dla mysqldump (1185)
    • F.15.3. Oferowane przez mysqldump opcje formatu danych (1193)
    • F.15.4. Zmienne dla mysqldump (1193)
  • F.16. mysqlimport (1194)
    • F.16.1. Opcje standardowe obsługiwane przez mysqlimport (1194)
    • F.16.2. Opcje charakterystyczne dla mysqlimport (1194)
    • F.16.3. Oferowane przez mysqlimport opcje formatu danych (1196)
  • F.17. mysqlshow (1196)
    • F.17.1. Opcje standardowe obsługiwane przez mysqlshow (1197)
    • F.17.2. Opcje charakterystyczne dla mysqlshow (1197)
  • F.18. perror (1198)
    • F.18.1. Opcje standardowe obsługiwane przez perror (1198)

Skorowidz (1199)

  • Tytuł: MySQL. Vademecum profesjonalisty. Wydanie V
  • Autor: Paul DuBois
  • Tytuł oryginału: MySQL (5th Edition)
  • Tłumaczenie: Robert Górczyński
  • ISBN: 978-83-246-8147-1, 9788324681471
  • Data wydania: 2014-03-28
  • Format: Ebook
  • Identyfikator pozycji: mysvp5
  • Wydawca: Helion