MySQL. Jak zaprojektować i wdrożyć wydajną bazę danych. Wydanie II
Wprowadzenie
Część I. Rozpoczęcie pracy z MySQL
1. Instalowanie bazy danych MySQL
Rozwidlenia MySQL
MySQL Community Edition
Percona Server for MySQL
MariaDB Server
MySQL Enterprise Edition
Opcje instalacji i obsługiwane platformy
1. Pobranie dystrybucji MySQL przeznaczonej do instalacji
2. Instalacja dystrybucji MySQL
3. Przeprowadzanie niezbędnej konfiguracji
4. Przeprowadzanie testów wydajności działania
Instalowanie MySQL w systemie Linux
Instalowanie MySQL w dystrybucji CentOS 7
Instalowanie MySQL w dystrybucji CentOS 8
Instalowanie MySQL w systemie Ubuntu 20.04 LTS (Focal Fossa)
Instalowanie serwera MySQL w systemie macOS Big Sur
Instalowanie MySQL w Windows 10
Zawartość katalogu MySQL
Pliki domyślne w wydaniu MySQL 5.7
Pliki domyślne w wydaniu MySQL 8.0
Używanie interfejsu powłoki
Używanie Dockera
Instalowanie Dockera
Używanie piaskownicy
Uaktualnianie serwera MySQL
Część II. Używanie MySQL
2. Modelowanie i projektowanie bazy danych
Jak nie tworzyć projektu bazy danych
Proces projektowania bazy danych
Model relacji między encjami
Przedstawianie encji
Przedstawianie relacji
Udział pełny i częściowy
Encja czy atrybut?
Encja czy relacja?
Encje pośrednie
Encje słabe i silne
Normalizacja bazy danych
Normalizacja przykładowej tabeli
Pierwsza postać normalizacji – brak powtarzających się grup
Druga postać normalizacji – wyeliminowanie zbędnych danych
Trzecia postać normalizacji – wyeliminowanie danych niezależnych od klucza
Przykłady modelowania relacji encji
Używanie modelu relacji encji
Mapowanie encji i relacji na tabele bazy danych
Utworzenie modelu ER bazy danych banku
Konwersja modelu EER na bazę danych MySQL za pomocą oprogramowania MySQL Workbench
3. Podstawy języka SQL
Używanie bazy danych sakila
Zapytanie SELECT i podstawowe techniki wykonywania zapytań
Zapytanie SELECT dotyczące pojedynczej tabeli
Wybór kolumn
Wybieranie rekordów za pomocą klauzuli WHERE
Klauzula ORDER BY
Klauzula LIMIT
Złączanie dwóch tabel
Zapytanie INSERT
Podstawy zapytania INSERT
Składnie alternatywne
Zapytanie DELETE
Podstawy pracy z zapytaniem DELETE
Używanie klauzul WHERE, ORDER BY i LIMIT
Usuwanie wszystkich rekordów za pomocą zapytania TRUNCATE
Zapytanie UPDATE
Przykłady
Używanie klauzul WHERE, ORDER BY i LIMIT
Przeglądanie baz danych i tabel za pomocą zapytań SHOW i polecenia mysqlshow
4. Praca ze strukturami bazy danych
Tworzenie i używanie baz danych
Tworzenie tabeli
Podstawy
Kodowanie znaków i ich kolejność
Inne funkcjonalności
Typy kolumn
Klucze i indeksy
Funkcjonalność AUTO_INCREMENT
Modyfikowanie struktury
Dodawanie, usuwanie i modyfikowanie kolumn
Dodawanie, usuwanie i modyfikowanie indeksów
Zmienianie nazwy tabeli i modyfikowanie innych struktur
Usuwanie struktur
Usuwanie bazy danych
Usuwanie tabel
5. Zapytania zaawansowane
Aliasy
Alias kolumny
Aliasy tabel
Agregowanie danych
Klauzula DISTINCT
Klauzula GROUP BY
Klauzula HAVING
Złączenia zaawansowane
Złączenia lewe i prawe
Złączenie naturalne
Wyrażenia stałych w złączeniach
Zapytania zagnieżdżone
Podstawy zapytań zagnieżdżonych
Klauzule ANY, SOME, ALL, IN i NOT IN
Klauzule EXISTS i NOT EXISTS
Zapytanie zagnieżdżone w klauzuli FROM
Zapytanie zagnieżdżone w klauzuli JOIN
Zmienne użytkownika
Część III. MySQL w środowisku produkcyjnym
6. Transakcje i nakładanie blokad
Poziomy izolacji
REPEATABLE READ
READ COMMITTED
READ UNCOMMITTED
SERIALIZABLE
Nakładanie blokad
Blokada metadanych
Blokada rekordów
Zakleszczenie
Parametry MySQL powiązane z poziomami izolacji i blokadami
7. Jak wycisnąć więcej z bazy danych MySQL?
Wstawianie danych za pomocą zapytań
Wczytywanie danych z pliku zawierającego wartości rozdzielone przecinkami
Zapisywanie danych do pliku w formacie wartości rozdzielonych przecinkami
Tworzenie tabeli za pomocą zapytań
Uaktualnianie i usuwanie danych w wielu tabelach
Usunięcie
Uaktualnienia
Zastępowanie danych
Zapytanie EXPLAIN
Alternatywne silniki bazy danych
InnoDB
MyISAM i Aria
MyRocks i TokuDB
Inne typy tabel
8. Zarządzanie użytkownikami i uprawnieniami
Poznajemy użytkowników i uprawnienia
Użytkownik root
Tworzenie nowego użytkownika i praca z nim
Tabele uprawnień
Zarządzanie użytkownikiem i rejestrowanie danych
Modyfikowanie i usuwanie kont użytkowników
Modyfikowanie konta użytkownika
Usunięcie użytkownika
Uprawnienia
Uprawnienia statyczne kontra dynamiczne
Uprawnienie SUPER
Zapytania związane z zarządzaniem uprawnieniami
Sprawdzanie uprawnień
Uprawnienie GRANT OPTION
Role
Zmiana hasła użytkownika root i niebezpieczny rozruch
Podpowiedzi dotyczące bezpiecznego rozruchu
9. Używanie plików opcji
Struktura pliku opcji
Zasięg opcji
Kolejność wyszukiwania dla plików opcji
Specjalne pliki opcji
Lokalny plik konfiguracyjny
Plik konfiguracyjny trwale przechowywanych zmiennych systemowych
Ustalanie efektu użycia opcji
10. Kopia zapasowa i odzyskiwanie danych po awarii
Fizyczna i logiczna kopia zapasowa
Logiczna kopia zapasowa
Fizyczna kopia zapasowa
Ogólne omówienie logicznej i fizycznej kopii zapasowej
Replikacja jako narzędzie kopii zapasowej
Awaria infrastruktury
Błąd we wdrożeniu
Program mysqldump
Przygotowanie replikacji za pomocą mysqldump
Wczytywanie danych z pliku SQL kopii zapasowej
mysqlpump
mydumper i myloader
Zimna kopia zapasowa i migawki systemu plików
Percona XtraBackup
Tworzenie kopii zapasowej i przywracanie z niej danych
Funkcje zaawansowane
Tworzenie za pomocą XtraBackup przyrostowej kopii zapasowej
Inne narzędzia do tworzenia fizycznej kopii zapasowej
MySQL Enterprise Backup
mariabackup
Przywracanie do pewnego momentu w czasie
Informacje techniczne dotyczące binarnych dzienników zdarzeń
Pozostawienie binarnych dzienników zdarzeń
Identyfikowanie celu dla przywracania do pewnego momentu w czasie
Przykład przywracania do pewnego momentu w czasie – XtraBackup
Przykład przywracania do pewnego momentu w czasie – mysqldump
Eksportowanie i importowanie przestrzeni tabel InnoDB
Szczegóły techniczne
Eksportowanie przestrzeni tabeli
Importowanie przestrzeni tabeli
Przywracanie pojedynczej tabeli za pomocą narzędzia XtraBackup
Testowanie i weryfikowanie kopii zapasowej
Wprowadzenie do strategii tworzenia kopii zapasowej bazy danych
11. Konfigurowanie i dostrajanie serwera
Demon serwera MySQL
Zmienne serwera MySQL
Sprawdzanie ustawień serwera
Najlepsze praktyki
Część IV. Różne zagadnienia
12. Monitorowanie bazy danych MySQL
Wskaźniki systemu operacyjnego
Procesor
Dysk
Pamięć
Sieć
Obserwacja serwera MySQL
Zmienne systemowe
Podstawowe rozwiązania w zakresie monitorowania
Dziennik zdarzeń wolno wykonywanych zapytań
Raport stanu silnika InnoDB
Metody analizy
Metoda USE
Metoda RED
Narzędzia do monitorowania MySQL
Incydenty, diagnostyka i ręczne zbieranie danych
Okresowe pobieranie wartości systemowych zmiennych stanu
Używanie pt-stalk do zbierania wskaźników dotyczących MySQL i systemu operacyjnego
Rozszerzona procedura ręcznego zbierania danych
13. Zapewnianie wysokiej dostępności
Replikacja asynchroniczna
Podstawowe parametry do zdefiniowania w źródle i replice
Tworzenie repliki za pomocą Percona XtraBackup
Tworzenie repliki za pomocą wtyczki klonowania
Tworzenie repliki za pomocą mysqldump
Tworzenie repliki za pomocą mydumper i myloader
Wtyczka Group Replication
Replikacja synchroniczna
Klaster Galera/PCX
14. MySQL w chmurze
Bazy danych jako usługa (DBaaS)
Amazon RDS dla MySQL/MariaDB
Azure SQL
Amazon Aurora
Egzemplarze MySQL w chmurze
MySQL w Kubernetes
Wdrażanie Percona XtraDB Cluster w Kubernetes
15. Mechanizm równoważenia obciążenia w bazie danych MySQL
Mechanizm równoważenia obciążenia i sterownik aplikacji
Mechanizm równoważenia obciążenia ProxySQL
Instalowanie i konfigurowanie ProxySQL
Mechanizm równoważenia obciążenia HAProxy
Instalowanie i konfigurowanie HAProxy
Router MySQL
16. Różne zagadnienia związane z MySQL
Powłoka MySQL
Instalowanie powłoki MySQL
Instalowanie powłoki MySQL w Ubuntu 20.04 Focal Fossa
Instalowanie powłoki MySQL w CentOS 8
Wdrażanie za pomocą powłoki MySQL odizolowanego klastra InnoDB
Narzędzia powłoki MySQL
Wykres typu flame graph
Kompilacja MySQL na podstawie kodu źródłowego
Kompilacja MySQL dla dystrybucji Ubuntu Focal Fossa i procesorów ARM
Analiza awarii MySQL
Opinie
Na razie nie ma opinii o produkcie.