Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00373 007880 10477402 na godz. na dobę w sumie
Bazy danych i MySQL. Od podstaw - książka
Bazy danych i MySQL. Od podstaw - książka
Autor: , Liczba stron: 560
Wydawca: Helion Język publikacji: polski
ISBN: 83-7197-728-X Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> bazy danych >> inne
Porównaj ceny (książka, ebook, audiobook).
MySQL zajmuje szczególną pozycję wśród systemów obsługi relacyjnych baz danych. Dzięki dużej wydajności, prostocie obsługi i dostępności interfejsów programistycznych dla wielu języków programowania, osiągnął ogromną popularność w zastosowaniach internetowych. Jeśli dysponujesz ograniczonym budżetem, powinieneś rozważyć użycie darmowego systemu, który pod wieloma względami może konkurować z drogimi systemami komercyjnymi. MySQL rozwija się zresztą bardzo dynamicznie, a jego kolejne wersje dysponują coraz to bardziej wyrafinowanymi funkcjami.

Do kogo adresowana jest ta książka?

'Bazy danych i MySQL. Od podstaw' to pozycja zarówno dla początkujących, jak i dla zaawansowanych użytkowników MySQL-a. Początkujący dowiedzą się jak instalować i konfigurować system MySQL, nauczą się projektowania wydajnych baz danych i zgłębią tajemnice języka SQL. Doświadczeni programiści będą mogli poznać interfejs pozwalający na korzystanie z MySQL-a z poziomu ich ulubionego języka programowania (książka omawia C, C++, Perla, PHP i Javę). Zainteresować ich powinny także rozdziały poświęcone wzorcom projektowym stosowanym przy tworzeniu aplikacji bazodanowych i omówienie mechanizmu transakcji, zaimplementowanego w najnowszych wersjach MySQL-a.

Co zawiera ta książka?

Autorzy szybko nauczą Cię korzystać z MySQL-a, dzięki czemu więcej czasu zostanie Ci na właściwe zadania.
Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREĎCI SPIS TREĎCI KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK TWÓJ KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOĎCIACH O NOWOĎCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Bazy danych i MySQL. Od podstaw Autorzy: Richard Stones, Neil Matthew T³umaczenie: Pawe³ Gonera ISBN: 83-7197-728-X Tytu³ orygina³u: Beginning Databases with MySQL Format: B5, stron: 560 Przyk³ady na ftp: 45 kB MySQL zajmuje szczególn¹ pozycjê wġród systemów obs³ugi relacyjnych baz danych. Dziêki du¿ej wydajnoġci, prostocie obs³ugi i dostêpnoġci interfejsów programistycznych dla wielu jêzyków programowania, osi¹gn¹³ ogromn¹ popularnoġæ w zastosowaniach internetowych. Jeġli dysponujesz ograniczonym bud¿etem, powinieneġ rozwa¿yæ u¿ycie darmowego systemu, który pod wieloma wzglêdami mo¿e konkurowaæ z drogimi systemami komercyjnymi. MySQL rozwija siê zreszt¹ bardzo dynamicznie, a jego kolejne wersje dysponuj¹ coraz to bardziej wyrafinowanymi funkcjami. Do kogo adresowana jest ta ksi¹¿ka? „Bazy danych i MySQL. Od podstaw” to pozycja zarówno dla pocz¹tkuj¹cych, jak i dla zaawansowanych u¿ytkowników MySQL-a. Pocz¹tkuj¹cy dowiedz¹ siê jak instalowaæ i konfigurowaæ system MySQL, naucz¹ siê projektowania wydajnych baz danych i zg³êbi¹ tajemnice jêzyka SQL. Doġwiadczeni programiġci bêd¹ mogli poznaæ interfejs pozwalaj¹cy na korzystanie z MySQL-a z poziomu ich ulubionego jêzyka programowania (ksi¹¿ka omawia C, C++, Perla, PHP i Javê). Zainteresowaæ ich powinny tak¿e rozdzia³y poġwiêcone wzorcom projektowym stosowanym przy tworzeniu aplikacji bazodanowych i omówienie mechanizmu transakcji, zaimplementowanego w najnowszych wersjach MySQL-a. Co zawiera ta ksi¹¿ka? • Przystêpne omówienie zagadnieñ zwi¹zanych z projektowaniem baz danych • Opis kompilacji, instalacji, konfiguracji i obs³ugi systemu MySQL • Kompletny kurs jêzyka SQL w wersji implementowanej w MySQL • Prezentacjê narzêdzi u³atwiaj¹cych pracê z MySQL • Omówienie zagadnieñ zwi¹zanych z administracj¹ systemem bazodanowym (replikacja, tworzenie kopii zapasowych, odtwarzanie danych) • Opis interfejsów umo¿liwiaj¹cych pisanie aplikacji bazodanowych w jêzykach C, C++, PHP, Perl i Java • Dodatki, zawieraj¹ce m.in. skorowidz poleceñ SQL i informacje na temat obs³ugi du¿ych obiektów (pola BLOB) Spis treści O Autorach ...................................................h...................................................h............... Wstęp...................................................h...................................................h.................... ....... 13 .......... 15 Rozdział 1. Wprowadzenie do MySQL................................................................................................19 Zastosowanie danych przy programowaniu...................................................h......................... 19 Bazy danych korzystające z płaskich plików...................................................h........................ 21 Czym jest baza danych ...................................................h...................................................h....23 Typy baz danych ...................................................h...................................................h.......... .... 23 Języki zapytań...................................................h...................................................h.................. 27 System zarządzania bazą danych ...................................................h....................................... 30 Czym jest MySQL........................................h...................................................h........................ 31 Krótka historia MySQL ...................................................h.................................................. 31 Architektura MySQL ...................................................h...................................................h... 32 Licencja open source ...................................................h...................................................h..... Zasoby ...................................................h...................................................h................... . 33 ......... 34 Rozdział 2. Podstawy relacyjnych baz danych ................................................................................35 Arkusze kalkulacyjne ...................................................h...................................................h..... Terminologia ...................................................h...................................................h............. Ograniczenia arkuszy ...................................................h...................................................h. 37 .. 35 . 36 Różnice pomiędzy arkuszem i bazą danych ...................................................h........................ 38 Wybór kolumn ...................................................h...................................................h............ 39 Wybór typów danych dla kolumn ...................................................h................................... 39 Jednoznaczne identyfikowanie wierszy...................................................h.......................... 40 Kolejność wierszy ...................................................h...................................................h...... 41 Umieszczanie danych w bazie danych ...................................................h................................ 41 Dostęp przez sieć ...................................................h...................................................h...... 41 Danych cięcie i gięcie ...................................................h...................................................h 43 Podstawy projektowania baz danych z wykorzystaniem wielu tabel ....................................... 45 Relacje między tabelami...................................................h...................................................h..46 Projektowanie tabel ...................................................h...................................................h...... ... 49 Kilka podstawowych zasad ...................................................h........................................... 49 Baza danych „Klienci i zamówienia”...................................................h................................... 51 Rozszerzamy bazę danych ...................................................h............................................ 52 Uzupełnianie projektu bazy danych ...................................................h............................... 54 4 Bazy danych i MySQL. Od podstaw Podstawowe typy danych...................................................h...................................................h. 57 NULL...................................................h...................................................h..................... ..... 57 Przykładowa baza danych ...................................................h...................................................h 59 Podsumowanie ...................................................h...................................................h............. ... 60 Rozdział 3. Instalowanie i uruchamianie MySQL ...............................................................................61 Instalacja czy uaktualnienie?...................................................h.............................................. 61 Instalowanie MySQL z pakietu binarnego dla Linuksa lub Uniksa.......................................... 63 Instalowanie MySQL z kodu źródłowego ...................................................h............................. 67 Instalowanie MySQL w systemie Windows ...................................................h......................... 82 Instalowanie MySQL z pakietu binarnego dla Windows...................................................h. 82 Podsumowanie ...................................................h...................................................h............. ... 88 Rozdział 4. Dostęp do danych..........................................................................................................89 Wykorzystanie narzędzia mysql...................................................h........................................... 90 Proste wyrażenia SELECT ...................................................h...................................................h 93 Przesłanianie nazw kolumn...................................................h........................................... 96 Ustalanie kolejności wierszy ...................................................h......................................... 96 Eliminowanie duplikatów...................................................h............................................... 98 Wykonywanie obliczeń ...................................................h...................................................h... 101 Wybór wierszy...................................................h...................................................h................ 102 Bardziej skomplikowane wyrażenia ...................................................h............................. 105 Dopasowanie wzorców...................................................h................................................ 107 Ograniczanie wyniku ...................................................h...................................................h 108 Porównanie różnych typów danych ...................................................h.............................. 109 Operacje na danych dotyczących dat i czasu ...................................................h.............. 112 Funkcje daty i czasu ...................................................h...................................................h 113 Wielokrotne złączenia tabel ...................................................h.............................................. 117 Łączenie dwóch tabel ...................................................h................................................. 117 Synonimy nazw tabel ...................................................h.................................................. 122 Łączenie trzech tabel ...................................................h.................................................. 123 Podsumowanie ...................................................h...................................................h............. . 127 Rozdział 5. Narzędzia graficzne dla MySQL....................................................................................129 mysql...............................................h...................................................h........................ ......... 130 Uruchamianie mysql ...................................................h...................................................h 130 Polecenia w mysql ...................................................h...................................................h... 130 Historia poleceń ...................................................h...................................................h...... 131 Skrypty w mysql ...................................................h...................................................h....... 131 Poznawanie bazy danych...................................................h............................................. 133 Parametry wiersza poleceń ...................................................h......................................... 133 Polecenia wewnętrzne ...................................................h................................................ 135 KSql i KMySQL ...................................................h...................................................h.............. 135 Przeglądarka tabel ...................................................h...................................................h... 137 Eksport HTML ...................................................h...................................................h.......... 138 Edytor formularzy ...................................................h...................................................h..... 140 MySQLGUI ...................................................h...................................................h................. ODBC................................................h...................................................h........................ Microsoft Access...................................................h...................................................h......... .... 141 ........ 143 .. 148 Tabele połączone...................................................h...................................................h..... 149 Wprowadzanie danych ...................................................h................................................ 151 Raporty ...................................................h...................................................h.................. .. 153 Spis treści 5 Microsoft Excel...................................................h...................................................h.......... Zasoby ...................................................h...................................................h................... Podsumowanie ...................................................h...................................................h............. .... 153 ....... 157 . 158 Rozdział 6. Modyfikacja danych.....................................................................................................159 Dodawanie danych do bazy danych ...................................................h.................................. 159 Instrukcja INSERT ...................................................h...................................................h.... 160 Wstawianie danych do kolumn typu AUTO_INCREMENT................................................. 164 Wstawianie wartości NULL...................................................h.......................................... 167 Polecenie LOAD DATA ...................................................h................................................. 169 Ładowanie danych za pomocą mysqlimport ...................................................h................ 172 Bezpośrednie ładowanie danych z innych aplikacji ...................................................h..... 174 Aktualizacja bazy danych za pomocą instrukcji UPDATE ...................................................h... 176 Usuwanie wierszy za pomocą instrukcji DELETE ...................................................h............... 179 Podsumowanie ...................................................h...................................................h............. . 181 Rozdział 7. Zaawansowana selekcja danych ..................................................................................183 . 184 Funkcje agregujące...................................................h...................................................h....... COUNT() ...................................................h...................................................h.................. . 184 Funkcja MIN()...................................................h...................................................h........... 192 Funkcja MAX() ...................................................h...................................................h.......... 193 Funkcja SUM()..................................................h...................................................h........... 194 Funkcja AVG()...................................................h...................................................h........... 194 . 195 Złączenia UNION ...................................................h...................................................h.......... .. 197 Złączenia własne ...................................................h...................................................h......... Złączenia zewnętrzne ...................................................h...................................................h.... 199 Podzapytania ...................................................h...................................................h............. .... 202 Typy podzapytań ...................................................h...................................................h...... 203 Podzapytania skojarzone ...................................................h............................................ 205 Zastępowanie podzapytań ...................................................h................................................ 207 Podsumowanie ...................................................h...................................................h............. . 210 Rozdział 8. Definiowanie danych i manipulacja nimi ........................................................................213 Typy danych...................................................h...................................................h.............. ..... 214 . 214 Typ logiczny...................................................h...................................................h............. Typy znakowe...................................................h...................................................h........... 215 Typy numeryczne...................................................h...................................................h...... 219 Data oraz czas...................................................h...................................................h......... 221 Operatory ...................................................h...................................................h................ ...... 222 Kolejność i łączenie operatorów ...................................................h................................. 223 Konwersje typów...................................................h...................................................h...... 229 Zmienne specjalne ...................................................h...................................................h.. 230 Funkcje wbudowane ...................................................h...................................................h...... 231 Operacje na tabelach ...................................................h...................................................h.... 235 Tworzenie tabel...................................................h...................................................h........ 235 Typy tabel MySQL ...................................................h...................................................h.... 241 Modyfikacja tabel...................................................h...................................................h..... 242 Usuwanie tabel ...................................................h...................................................h........ 246 Tabele tymczasowe...................................................h...................................................h.. 246 Klucze obce...................................................h...................................................h.............. ..... 247 Deklarowanie kluczy obcych...................................................h........................................ 249 Opcje kluczy obcych ...................................................h...................................................h. 253 Podsumowanie ...................................................h...................................................h............. . 254 6 Bazy danych i MySQL. Od podstaw Rozdział 9. Transakcje i blokowanie .............................................................................................255 Czym są transakcje? ...................................................h...................................................h..... 256 Zasady ACID ...................................................h...................................................h............ 259 Obsługa transakcji dla jednego użytkownika...................................................h..................... 260 Obsługa transakcji dla wielu użytkowników ...................................................h...................... 261 Poziomy izolacji ANSI ...................................................h.................................................. 261 Definicje ANSI/ISO...................................................h...................................................h... 266 Ograniczenia transakcji...................................................h............................................... 266 MySQL i transakcje ...................................................h...................................................h.......267 MySQL i tabele MyISAM...................................................h.............................................. 267 MySQL i tabele InnoDB ...................................................h............................................... 271 Zakleszczenia...................................................h...................................................h............ Podsumowanie ...................................................h...................................................h............. .... 276 . 278 Rozdział 10. Administrowanie MySQL............................................................................................279 Uruchamianie i zatrzymywanie serwera bazy danych ...................................................h........ 279 Windows ...................................................h...................................................h..................280 Linux ...................................................h...................................................h.................... .... 282 Wersje serwera...................................................h...................................................h........ 284 Dodawanie i usuwanie baz danych ...................................................h............................. 285 Konfigurowanie użytkowników ...................................................h.......................................... 285 Konto administratora bazy danych — root...................................................h.................. 285 Zarządzanie uprawnieniami użytkowników ...................................................h........................ 290 Tworzenie kont użytkowników ...................................................h..................................... 290 Odbieranie uprawnień ...................................................h................................................. 295 Plik śladu serwera ...................................................h...................................................h... 297 Pliki konfiguracyjne...................................................h...................................................h........ 297 Ustawienia serwera ...................................................h...................................................h. 297 Pierwotne pliki konfiguracyjne...................................................h..................................... 298 Pliki InnoDB ...................................................h...................................................h.............301 Przeglądanie baz danych...................................................h............................................. 303 Kopie zapasowe ...................................................h...................................................h........... Podsumowanie ...................................................h...................................................h............. . 303 . 307 Rozdział 11. Projektowanie bazy danych........................................................................................309 Rozpoznanie problemu ...................................................h...................................................h.. 309 Cechy dobrego projektu bazy danych...................................................h................................ 310 Przechowywanie wymaganych danych ...................................................h......................... 311 Tworzenie wymaganych relacji...................................................h..................................... 311 Rozwiązywanie problemów ...................................................h.......................................... 311 Wymuszenie integralności danych ...................................................h.............................. 312 Efektywny dostęp do danych...................................................h....................................... 312 Rozszerzalność ...................................................h...................................................h........ 313 Etapy projektowania ...................................................h...................................................h......313 Zbieranie informacji ...................................................h...................................................h. 313 Projekt logiczny ...................................................h...................................................h........ 314 Określanie relacji i liczebności...................................................h.................................... 319 Konwersja do modelu fizycznego...................................................h...................................... 324 Tworzenie kluczy głównych...................................................h.......................................... 324 Tworzenie kluczy obcych ...................................................h............................................. 326 Spis treści 7 Ustalanie typów danych ...................................................h.............................................. 328 Dokończenie definicji tabel ...................................................h......................................... 330 Sprawdzenie projektu ...................................................h................................................. 331 Postacie normalne ...................................................h...................................................h........332 Pierwsza postać normalna ...................................................h.......................................... 332 Druga postać normalna ...................................................h.............................................. 333 Trzecia postać normalna...................................................h............................................. 333 Często stosowane wzorce projektowe ...................................................h.............................. 334 Relacje wiele-do-wielu ...................................................h................................................. 334 Hierarchia ...................................................h...................................................h............... Relacje rekurencyjne...................................................h...................................................h 335 . 335 Zasoby ...................................................h...................................................h................... Podsumowanie ...................................................h...................................................h............. ....... 337 . 338 Rozdział 12. Dostęp do MySQL z programów napisanych w językach C i C++ ................................339 Użycie biblioteki libmysqlclient ...................................................h......................................... 340 Połączenie z bazą danych...................................................h................................................. 341 Kontrola błędów ...................................................h...................................................h.......... .. 346 Wykorzystanie pliku Makefile ...................................................h...................................... 346 Dalsze informacje ...................................................h...................................................h.... 347 Zarządzanie połączeniami do serwera ...................................................h.............................. 348 Wykonywanie zapytań SQL za pomocą libmysqlclient ...................................................h....... 350 Transakcje..........................................h...................................................h........................ ...... 355 Pobieranie danych zwracanych przez zapytania...................................................h........... 356 Przeglądanie zbioru wynikowego...................................................h....................................... 361 Operacje bez użycia kursorów ...................................................h.......................................... 362 Podsumowanie funkcji API ...................................................h.......................................... 363 Dostęp do MySQL z programów napisanych w języku C++ .................................................. 365 Mysql++ ...................................................h...................................................h.................. ...... 366 Instalacja Mysql++ ...................................................h...................................................h.. 366 Kompilowanie programów z użyciem Mysql++ ...................................................h............ 367 Obiekty klasy Connection...................................................h............................................ 368 Wyjątki ...................................................h...................................................h.................. Zapytania...................................................h...................................................h................ Zbiory wynikowe...................................................h...................................................h....... 373 Obiekty Query ...................................................h...................................................h.......... 377 Szablony zapytań ...................................................h...................................................h..... 378 ... 371 . 371 Zasoby ...................................................h...................................................h................... Podsumowanie ...................................................h...................................................h............. ....... 379 . 379 Rozdział 13. Dostęp do MySQL z programów napisanych w języku PHP..........................................381 Dołączenie do PHP modułu wsparcia dla MySQL...................................................h.............. 382 Używanie PHP API z MySQL ...................................................h.............................................. 383 Połączenia z bazą danych ...................................................h........................................... 386 Operacje na zbiorze wynikowym ...................................................h.................................. 390 Obsługa błędów ...................................................h...................................................h....... 404 Używanie interfejsu Database Abstraction w PEAR ...................................................h..... 412 Podsumowanie ...................................................h...................................................h............. . 419 8 Bazy danych i MySQL. Od podstaw Rozdział 14. Dostęp do MySQL z programów napisanych w języku Perl .........................................421 Perl DBI ...................................................h...................................................h................. ........ 422 Instalowanie DBI oraz MySQL DBD ...................................................h............................. 423 Korzystanie z DBI...................................................h...................................................h..... 425 Wykorzystanie DBIx::Easy ...................................................h........................................... 453 Podsumowanie ...................................................h...................................................h............. . 455 Rozdział 15. Dostęp do MySQL z programów napisanych w języku Java .......................................457 Wstęp do JDBC........................................h...................................................h....................... Sterowniki JDBC ...................................................h...................................................h.......... .. 458 .. 458 Typ 1 — Mostek JDBC-ODBC ...................................................h...................................... 459 Typ 2 — Połączenie własnego API z kodem Java ...................................................h........ 459 Typ 3 — Realizacja protokołu sieciowego przy pomocy kodu Java................................. 459 Typ 4 — Kod języka Java realizujący protokół systemu bazy danych.............................. 460 Kompilowanie sterownika JDBC dla MySQL...................................................h...................... 460 Interfejsy DriverManager oraz Driver...................................................h................................. 461 java.sql.DriverManager ...................................................h............................................... 461 java.sql.Driver ...................................................h...................................................h..........464 ...... 466 Połączenia...................................................h...................................................h............... Tworzenie wyrażeń ...................................................h...................................................h... 466 Obsługa transakcji ...................................................h...................................................h... 467 Metadane ...................................................h...................................................h................ 468 Zbiory wynikowe JDBC ...................................................h...................................................h... 470 Typy zbiorów wynikowych oraz współbieżność...................................................h............. 470 Przeglądanie zbiorów wynikowych ...................................................h............................... 471 Dostęp do danych wynikowych...................................................h.................................... 473 Zbiory wynikowe podlegające aktualizacji...................................................h.................... 474 Inne ważne metody ...................................................h...................................................h.. 476 Instrukcje JDBC ...................................................h...................................................h.......... Instrukcje...................................................h...................................................h............... Instrukcje przygotowywane...................................................h.......................................... 481 ... 476 .. 477 Wyjątki i ostrzeżenia SQL ...................................................h................................................. 485 Aplikacja graficzna korzystająca z JDBC...................................................h............................ 485 Diagram klas...................................................h...................................................h............ 486 Interakcja z systemem...................................................h................................................ 488 Podsumowanie ...................................................h...................................................h............. . 499 Rozdział 16. Dodatkowe informacje i zasoby ..................................................................................501 Nierelacyjne źródła danych ...................................................h............................................... 501 Terminologia baz danych ...................................................h.................................................. 502 Zasoby ...................................................h...................................................h................... ....... 504 Zasoby sieci.......................................h...................................................h.........................505 Narzędzia uniwersalne ...................................................h................................................ 505 Książki ...................................................h...................................................h.................. ... 506 . 507 Podsumowanie ...................................................h...................................................h............. Dodatek A Ograniczenia bazy danych MySQL ................................................................................509 Rozmiar bazy danych — bez ograniczeń ...................................................h..................... 510 Rozmiar tabeli — 64 TB – 16 PB ...................................................h................................ 510 Ilość wierszy w tabeli — 2^64...................................................h.................................... 511 Indeksy tabeli — 32 ...................................................h...................................................h 511 Spis treści 9 Rozmiar kolumny — 16 MB – 4 GB...................................................h............................. 511 Ilość kolumn w tabeli — 1000...................................................h.................................... 511 Rozmiar wiersza — 4 GB ...................................................h............................................ 511 Ograniczenia innego rodzaju ...................................................h....................................... 512 Dodatek B Typy danych w MySQL...................................................................................................513 Typy numeryczne — dokładne ...................................................h.......................................... 513 Typy numeryczne — przybliżone ...................................................h....................................... 514 Typy reprezentujące daty i czas ...................................................h........................................ 515 Typy znakowe ...................................................h...................................................h............. Inne typy...................................................h...................................................h................ ... 515 ........ 516 Dodatek C Składnia MySQL..............................................................................................................517 Polecenia SQL w MySQL...................................................h...................................................h 517 Składnia SQL w MySQL ...................................................h...................................................h. 517 Dodatek D Informator mysql.........................................................................................................529 Opcje programu mysql wpisywane w wierszu poleceń ...................................................h...... 529 Polecenia wewnętrzne ...................................................h...................................................h... 531 Dodatek E Schemat bazy danych i definicje tabel ...........................................................................533 Dodatek F Obsługa dużych obiektów .............................................................................................537 Obiekty BLOB ...................................................h...................................................h............. ... 537 Dane binarne w polach BLOB...................................................h...................................... 538 Definicja BLOB w MyODBC...................................................h.......................................... 538 Użycie GROUP BY na polach BLOB ...................................................h............................. 538 Programowanie pól BLOB ...................................................h................................................. 539 Skorowidz.....................................................................................................................................541 10 Administrowanie MySQL W tym rozdziale zajmiemy się zarządzaniem serwerem MySQL. Sposób instalacji serwera został już opisany w rozdziale 3. — „Instalowanie i uruchamianie MySQL”, ale konfigurację serwera opisaliśmy tam tylko pobieżnie. W tym rozdziale poruszymy następujące tematy: n Uruchamianie i zatrzymywanie serwera bazy danych n Konfigurowanie użytkowników n Zarządzanie uprawnieniami użytkowników n Pliki konfiguracyjne n Kopie zapasowe Administrowanie bazą danych jest złożonym przedsięwzięciem; w tym rozdziale omówimy jedynie podstawy administracji serwerem MySQL. Uruchamianie i zatrzymywanie serwera bazy danych Pomiędzy programem korzystającym z bazy danych a danymi zawartymi w tej bazie znajduje się kilka procesów zarządzających dostępem do danych. Zanim program kliencki będzie mógł uzyskać dostęp do danych, uruchomiony musi zostać proces serwera, co opisaliśmy w rozdziale 3. Wyłączając komputer musisz zapewnić, że proces ten zostanie prawidłowo zatrzymany. W takim przypadku proces serwera może odpowiednio zamknąć bazę danych, zapisując wszystkie dane znajdujące się w buforze. Jeżeli nie pozwolisz prawidłowo zamknąć bazy danych, ryzykujesz uszkodzeniem zapisanych w niej danych. Zapewnienie prawidłowego zamknięcia bazy danych jest jedną z najważniejszych czyn- ności, o których należy pamiętać w pracy z serwerem MySQL. 280 Bazy danych i MySQL. Od podstaw Najszybszą metodą sprawdzenia, czy lokalny serwer działa, jest uruchomienie programu mysqladmin z opcją ping: =TKEM IYTKEM?O[USNCFOKPRKPI O[USNFKUCNKXG =TKEM IYTKEM? Aby uzyskać bardziej wyczerpujący raport, można zamiast opcji ping użyć version, co spo- woduje wyświetlenie informacji o wersji uruchomionego serwera, czasie jego pracy oraz innych. Gdy już wiemy, jak sprawdzić, czy serwer działa, zapoznamy się ze sposobami jego urucha- miania. Metody uruchamiania i zatrzymywania serwera zależą od rodzaju systemu opera- cyjnego, pod kontrolą którego pracuje serwer. Na początek zajmiemy się systemem Windows, a później Linux i Unix. Windows Jeżeli serwer MySQL działa w systemie Windows, najprawdopodobniej po zainstalowaniu programu i ponownym uruchomieniu komputera serwer zostanie uruchomiony, a podczas zamykania systemu automatycznie zatrzymany. Działanie takie zostało osiągnięte dzięki temu, że w Windows NT, 2000 i XP serwer MySQL jest domyślnie instalowany jako stan- dardowa usługa systemu. Można to zobaczyć, przeglądając zawartość okna Usługi dostępnego w Panelu sterowania (dokładna lokalizacja zależy od wersji Windows). Jak widać, usługa MySQL jest uruchamiana automatycznie. Na górnym rysunku na następnej stronie pokazana jest lista usług dostępnych w systemie Windows 2000. Dzięki takiemu ustawieniu operacje uruchamiania i zatrzymywania serwera są automatycznie wykonywane przez system operacyjny. Program WinMySQLManager, znajdujący się w podkatalogu bin katalogu z instalacją MySQL, pozwala na sprawowanie kontroli nad serwerem MySQL na dosyć wysokim poziomie. Zapew- nia on wygodny interfejs do zarządzania serwerem. Po uruchomieniu tego programu zauważysz, że po wyświetleniu okna wskazującego na start programu właściwie niewiele więcej się stało. Jeżeli jednak przyjrzysz się dokładniej, odszukasz małą ikonę przedstawiającą sygnaliza- tor świateł drogowych, umieszczoną w zasobniku systemowym. Zielone światło sygnalizuje działanie serwera MySQL. Jeżeli klikniesz tę ikonę prawym klawiszem myszy i wybierzesz pozycję menu Show me, na ekranie pokaże się pełne okno programu WinMySQLAdmin (patrz dolny rysunek na następnej stronie). Okno to zawiera podstawowe informacje na temat platformy i wersji serwera. Na kolejnych zakładkach znajdziesz wiele szczegółowych informacji na temat statusu i konfiguracji serwera. Na przykład na zakładce Report można wygenerować raport zawierający wiele informacji na temat działającego serwera. Jest to szczególnie użyteczne w przypadku, gdy występują kłopoty z prawidłowym działaniem serwera. Bardzo przydatną zakładką jest Databases. Pozwala ona na przeglądanie informacji na temat baz danych, tabel w nich zawartych, a nawet definicji kolumn. Na rysunku na stronie 282 pokazana została definicja tabeli customer w bazie danych bmsimple. Rozdział 10. n Administrowanie MySQL 281 282 Bazy danych i MySQL. Od podstaw Klikając prawym klawiszem myszy na ikonie świateł drogowych można dostać się do dodat- kowych funkcji, dostępnych w podręcznym menu. Opcje te pozwalają na ręczne urucho- mienie i zatrzymanie usługi; po zatrzymaniu usługi można usunąć usługę MySQL. Linux Nieco inaczej sprawuje się kontrolę nad serwerem MySQL w systemie Linux. Metoda zależy od tego, czy zainstalowałeś serwer korzystając z plików źródłowych, czy z gotowego pakietu, na przykład RPM dla systemów Red Hat lub SuSE Linux. Najłatwiejszy sposób kontroli serwera jest dostępny w przypadku instalacji z pakietu instala- cyjnego. Jeżeli wykonałeś taką instalację, najprawdopodobniej zainstalowane zostały odpo- wiednie skrypty służące do uruchamiania i zatrzymywania serwera. Dokładna lokalizacja tych skryptów zależy od dystrybucji. W przypadku Red Hat Linux jest to katalog /etc/rc.d/init.d. Zwykle system Linux posiada zdefiniowane odpowiednie poziomy działania (runlevel). Najczęściej numerem 3 oznacza się poziom umożliwiający pracę w środowisku tekstowym, z obsługą wielu użytkowników i sieci, natomiast numerem 5 poziom z uruchomionym śro- dowiskiem graficznym. W większości systemów ustawienia domyślne są określone w pliku /etc/inittab. Gdy system przechodzi na nowy poziom (lub opuszcza go), wykonywany jest zestaw skryptów przypisanych do tego poziomu. Zwykle są one umieszczone w katalogu /etc/rc.d/rcN.d, gdzie N jest numerem poziomu. Skrypty te są najczęściej dołączeniami symbolicznymi do skryptów z katalogu /etc/rc/d/init.d. Nazwy skryptów wykonywanych w celu uruchomienia poziomu zaczynają się od litery S, po której znajduje się liczba wskazująca na kolejność wykonywania skryptów. Pełny opis poziomów działania oraz skryptów startowych Rozdział 10. n Administrowanie MySQL 283 wykracza poza ramy tej książki. Więcej informacji możesz znaleźć na stronie podręcznika man dla programu init, w dokumentacji HOWTO lub w książkach poświęconych admini- stracji systemem Linux. Najprostszą metodą ustalenia poziomu działania, na którym będzie uruchamiany serwer MySQL jest użycie odpowiedniego narzędzia graficznego. W systemie Red Hat 7.2 można skorzystać z programu Serviceconf, znajdującego się w menu Programs, System, Serviceconf dla GNOME lub Red Hat, System, Serviceconf dla KDE. Po uruchomieniu programu widzisz listę dostępnych usług z polami wyboru pozwalającymi określić, czy dany program będzie uruchamiany na wybranym poziomie. Na poniższym rysunku przedstawiono wygląd okna Service Configuration w systemie dzia- łającym na poziomie 3., z wybranym serwerem MySQL. Aby potwierdzić, że MySQL działa, można napisać w wierszu poleceń: RUGN^ITGRO[USNF i sprawdzić, czy jest uruchomiony program mysqld. Jeżeli instalując MySQL korzystałeś z plików źródłowych, musisz wykonać nieco więcej czynności. Na początek musisz odszukać skrypt mysql_start_stop, który powinien znajdować się w podkatalogu bin katalogu bazowego programu MySQL. Możesz użyć go do stworzenia własnego skryptu kontrolnego; w wielu przypadkach nie musisz go już potem modyfikować. Skopiuj ten skrypt do katalogu ze skryptami wykonywanymi w momencie startu systemu (w Red Hat Linux jest to /etc/rc.d/init.d), a następnie korzystając z Twojego ulubionego narzę- dzia zmień konfigurację tak, aby skrypt startowy był uruchamiany na wymaganym poziomie. Możesz w tym celu wykorzystać wspomniany wcześniej program serviceconf, a jeżeli wolisz narzędzia tekstowe, możesz użyć programu chkconfig, który pozwala na wygodne zarzą- dzanie programami uruchamianymi na określonych poziomach pracy. 284 Bazy danych i MySQL. Od podstaw Jeżeli chcesz dodać skrypt mysql do programów uruchamianych w chwili przechodzenia na poziom 3, możesz skopiować ten skrypt do katalogu /etc/rc.d/init.d, a następnie — za pomocą polecenia EJMEQPHKINGXGNO[USN — spowodować, że będzie on uruchamiany na pozio- mie 3. Więcej informacji na ten temat możesz znaleźć na stronie podręcznika man chkconfig. Możesz oczywiście ręcznie uruchamiać i zatrzymywać serwer, ale uruchamianie automa- tyczne zmniejsza ryzyko przypadkowego wyłączenia komputera bez zatrzymania serwera bazy danych. Wersje serwera W przypadku systemu Linux, instalując serwer MySQL musiałeś wybrać odpowiedni pakiet do instalacji. Do wyboru miałeś standardowy pakiet serwera oraz opcjonalny pakiet max. Pakiet max jest wymagany w przypadku, gdy oprócz standardowych tabel MyISAM chcesz korzystać z tabel typu InnoDB lub BDB. Zalecamy zainstalowanie standardowego pakietu serwera oraz pakietu max. Jeżeli samodzielnie kompilowałeś MySQL, korzystając z plików źródłowych, w trakcie konfi- gurowania kompilacji decydujesz, które opcje serwera będą Ci potrzebne (patrz rozdział 3.). Począwszy od MySQL 4.0, domyślnie dołączana jest obsługa tabel InnoDB. Po wykonaniu programów configure, make oraz make install zostaje zainstalowana odpowiednia wersja programu serwera. W przypadku Windows sprawa nieco się komplikuje, ponieważ zwykle w pakiecie instalacyj- nym znajduje się kilka wersji serwera, a użytkownik musi wybrać odpowiadającą mu wersję. Operacje tę można wykonać za pomocą programu WinMySQLAdmin, korzystając z opcji na zakładce my.ini Setup (patrz rysunek na następnej stronie). Po lewej stronie okna przedstawionego na rysunku na następnej stronie znajdują się nazwy do- stępnych serwerów. Aby zmienić wersję serwera, należy wykonać następujące kroki: n Wybierz nowy typ serwera. n Zatrzymaj usługę. n Usuń usługę. n Zainstaluj usługę. n Uruchom usługę. Można to wykonać korzystając z wiersza poleceń, uruchamiając stary program z parametrem TGOQXG, a następnie nową wersję programu serwera z opcją KPUVCNN, co spowoduje zain- stalowanie podanego w poleceniu pliku jako nowej usługi MySQL. Więcej informacji na ten temat znajduje się w podręczniku MySQL. Sugerujemy użycie wersji serwera mysqld-max- -NT, jak jest to pokazane na rysunku na następnej stronie. Jeżeli chcesz korzystać z tabel InnoDB, których używaliśmy w rozdziale 9. — „Transakcje i blokowanie”, przy omawianiu transakcji oraz kluczy obcych, zalecamy korzystanie z wersji max lub max-nt. Rozdział 10. n Administrowanie MySQL 285 Dodawanie i usuwanie baz danych Dodawanie i usuwanie baz danych jest dosyć proste. Aby stworzyć bazę danych, należy wykonać instrukcję: 4 #6  #6#$#5 PCYCADC[ Aby usunąć bazę danych, należy wykonać: 412 #6#$#5 PCYCADC[ Aby wykonać te operacje, użytkownik podłączony do serwera musi posiadać odpowiednie uprawnienia, o których napiszemy w kolejnym podrozdziale. Konfigurowanie użytkowników Teraz, gdy nasz serwer bazy danych jest automatycznie uruchamiany i — co ważniejsze — automatycznie zatrzymywany, możemy zająć się opisem konfigurowania użytkowników. Konto administratora bazy danych — root Podczas instalowania serwera MySQL tworzone są dwa konta użytkowników — domyślne konto administratora oraz konto anonimowe. Konto administratora nosi nazwę root, ale nie jest to konto związane w jakikolwiek sposób z kontem w systemie Linux o tej samej nazwie. 286 Bazy danych i MySQL. Od podstaw Domyślnie użytkownik root nie ma hasła oraz posiada pełną kontrolę nad bazą danych. Pierwszą czynnością powinno być przydzielenie hasła dla tego użytkownika. Istnieje kilka sposobów ustawienia hasła użytkownika. Opiszemy tutaj dwa z nich: za pomocą programu mysqladmin oraz poprzez bezpośrednią zmianę danych użytkownika w bazie danych. Ustawienie hasła użytkownika root (administratora) za pomocą programu mysqladmin wygląda następująco: O[USNCFOKPWUGTTQQVRCUUYQTFPQYGJCUđQ Na przykład: =TKEM IYDO[US?O[USNCFOKPWUGTTQQVRCUUYQTFUGETGV =TKEM IYDO[US? Po ustawieniu hasła można je zmieniać za pomocą programu mysqladmin, ale w takim przy- padku należy podać poprzednie hasło za pomocą opcji RCUUYQTFUVCTGAJCUđQ. Sposób tworzenia domyślnych użytkowników powoduje, że dla każdego użytkownika wystę- pują zwykle dwie pozycje — jedna do logowania lokalnego oraz druga do logowania przez sieć. Program ustawia hasło dla wykorzystywanej metody logowania, co może spowodo- wać, że baza danych nie będzie zabezpieczona tak dobrze, jak się tego mogłeś spodziewać. Z tego powodu zalecamy wykorzystanie innej metody zmiany hasła, która wymaga zalogo- wania się do bazy danych. Jeżeli nie ustawiałeś jeszcze hasła użytkownika root, możesz zalogować się jako admini- strator w następujący sposób: =TKEM IYTKEM?O[USNWUGTTQQV 9GNEQOGVQVJG/[53.OQPKVQT QOOCPFUGPFYKVJQT I ;QWT/[53.EQPPGEVKQPKFKUVQUGTXGTXGTUKQPCNRJC 6[RG JGNR QT J HQTJGNR6[RG E VQENGCTVJGDWHHGT O[USN Jeżeli skorzystałeś już z programu mysqladmin do ustawienia hasła, musisz podać hasło, dodając parametr RCUUYQTFJCUđQ, lub lepiej (nikt nie będzie mógł wtedy podejrzeć hasła) parametr R, co spowoduje, że program mysql zapyta o hasło: =TKEM IYTKEM?O[USNWUGTTQQVR PVGTRCUUYQTF 9GNEQOGVQVJG/[53.OQPKVQT QOOCPFUGPFYKVJQT I ;QWT/[53.EQPPGEVKQPKFKUVQUGTXGTXGTUKQPCNRJC 6[RG JGNR QT J HQTJGNR6[RG E VQENGCTVJGDWHHGT O[USN Ponieważ jesteśm y podłączeni do serwera bazy danych jako użyt kownik root, mamy uprawnienia do wykonania dowolnego polecenia we wszystkich bazach danych. Wybieramy bazę danych mysql, która zawiera tabele systemowe, w tym tabele wykorzystywane przy sprawdzaniu uprawnień użytkowników: Rozdział 10. n Administrowanie MySQL 287 O[USN WUGO[USN 4GCFKPIVCDNGKPHQTOCVKQPHQTEQORNGVKQPQHVCDNGCPFEQNWOPPCOGU ;QWECPVWTPQHHVJKUHGCVWTGVQIGVCSWKEMGTUVCTVWRYKVJ# CVCDCUGEJCPIGF O[USN Teraz zmieniamy hasło dla użytkownika root, poprzez zmianę wartości w tabeli user: O[USN 72 #6 WUGT5 6RCUUYQTF2#55914 UGETGVRCUUYQTF  9* 4 WUGT TQQV  3WGT[1-TQYUCHHGEVGF UGE 4QYUOCVEJGF JCPIGF9CTPKPIU O[USN Jest to zwykła instrukcja 72 #6 , wykorzystująca funkcję 2#55914 . Instrukcja ta wymaga podania nowego hasła (ciągu znaków) i zwraca je w postaci zaszyfrowanej. Zwróć uwagę na to, że zmienione zostały dwa wiersze; powód tego przedstawimy za chwilę. Zaszyfro- wane hasło jest zapisywane w tabeli user. Korzystając z tej metody możemy ustawić hasło dla dowolnego użytkownika, ponieważ administrator posiada wszystkie prawa do tej tabeli. Aby wprowadzone zmiany zaczęły obowiązywać, musim y wykonać instrukcję (.75* 24+8+. ) 5: O[USN (.75*24+8+. ) 5 3WGT[1-TQYUCHHGEVGF UGE O[USN Instrukcja ta powoduje, że MySQL ponownie wczytuje uprawnienia użytkowników do we- wnętrznych buforów. Popatrzmy na fragment tabeli user: O[USN 5 . 6WUGTJQUVRCUUYQTF(41/WUGT    ^WUGT^JQUV^RCUUYQTF^    ^TQQV^NQECNJQUV^GGFCCE^ ^TQQV^IY^GGFCCE^ ^^NQECNJQUV^^ ^^IY^^    TQYUKPUGV UGE O[USN Jak widać, użytkownik root posiada ustawione hasło, ale występują dla tego użytkownika dwie pozycje. Obie zawierają to samo zaszyfrowane hasło (zignoruj na razie pozycje bez nazwy użytkownika, omówimy je nieco później). Powodem powstania podwójnych wpisów jest praca w sieci. Hasło wykorzystywane do połączenia się z MySQL może być inne dla połączeń realizowanych z lokalnego komputera i inne dla komputera lub grupy komputerów w sieci. Nasz komputer posiada nazwę gw1, ale podczas instalacji serwera MySQL dodany 288 Bazy danych i MySQL. Od podstaw został wpis dla komputera localhost (nazwa lokalnego połączenia). W niektórych instala- cjach zamiast localhost może znajdować się tu adres IP 127.0.0.1. Możliwe jest stworzenie kont użytkowników, którzy posiadają prawo do zalogowania się do bazy danych z lokalnego komputera, ale nie mogą się zalogować z innych komputerów podłączonych do sieci. Dobrym pomysłem jest pozwolenie na logowanie się użytkownika root jedynie z kom- putera z serwerem MySQL. Zmniejsza to ryzyko zdobycia dostępu do serwera przez nieautoryzowanych użytkowników. Przywracanie hasła administratora Może zdarzyć się sytuacja, że konto administratora zostanie usunięte z serwera — albo z powodu uszkodzenia danych, albo przez błąd człowieka. Na szczęście istnieje kilka sposobów wyjścia z tej sytuacji. Jeżeli jesteś nadal zalogowany jako root, problem można łatwo naprawić. Przełącz się do bazy danych mysql i wstaw nowy wiersz dla użytkownika root, komputera localhost, bez hasła i ze znakami Y w pozostałych kolumnach. Następnie ustaw hasło administratora w przedstawiony wcześniej sposób: 72 #6 WUGT5 6RCUUYQTF2#55914 UGETGVRCUUYQTF 9* 4 WUGT TQQV Jeżeli nie jesteś zalogowany do bazy, istnieje kilka sposobów na naprawę sytuacji. Na początek musisz zatrzymać pracę serwera. W systemie Windows możesz do zatrzymania serwera użyć programu WinMySQLAdmin; możesz także zatrzymać usługę mysql ręcznie, korzystając z konta użytkownika o prawach administratora. Również w systemie Linux do uruchomienia skryptu zatrzymującego serwer musisz posiadać prawa administratora. Najlepszą metodą przywracania konta administratora jest ręczne uruchomienie procesu serwera ze specjalnym parametrem UMKRITCPVVCDNGU. Powoduje to, że serwer ignoruje tabele uprawnień i pozwala na zalogowanie się jako użytkownik root bez konieczności poda- wania hasła. Dodatkowo musisz podać inne parametry, takie jak położenie katalogu data. Na przykład po zainstalowaniu MySQL w katalogu /usr/local/mysql w systemie Linux powi- nieneś wydać następujące polecenie: WUTNQECNO[USNDKPO[USNFAUCHGUMKRITCPVVCDNGUFCVCFKTWUTNQECNO[USNXCT RKFHKNGWUTNQECNO[USNXCTIYRKF W systemie Windows można uruchomić serwer z wiesza poleceń w następujący sposób: O[USNFPVUVCPFCNQPGUMKRITCPVVCDNGU Jeżeli w systemie Linux instalowałeś serwer korzystając z plików źródłowych, istnieje jeszcze jeden sposób przywrócenia konta użytkownika root (choć nie jest on zalecany). W czasie instalacji musiałeś wykonać skrypt o nazwie mysql_install_db. Skrypt ten tworzy tabele uprawnień, a jego powtórne wykonanie spowoduje utworzenie domyślnych tabel. Powoduje to jednak utratę wszystkich kont użytkowników utworzonych w trakcie pracy z bazą danych. Jeżeli jest to tylko możliwe, do odtwarzania konta administratora zalecamy korzystanie z opcji --skip-grant-tables. Rozdział 10. n Administrowanie MySQL 289 Możemy teraz uruchomić program mysql w zwykły sposób, podłączyć się do serwera bazy danych jako root bez konieczności podawania hasła i ponownie wykonać instrukcje, które odtworzą konto administratora. Następnie należy zatrzymać serwer i uruchomić go już w nor- malnym trybie, po czym w opisywany wcześniej sposób ustawić hasło użytkownika root. Usuwanie domyślnego użytkownika Bieżąca wersja MySQL instaluje domyślnego użytkownika, który może podłączyć się do serwera z lokalnego komputera i korzystać z baz danych, których nazwy zaczynają się od test. Jest to wygodne w przypadku, gdy pierwszy raz instalujesz MySQL i chcesz sprawdzić, czy inni niż root użytkownicy mogą podłączyć się do bazy. Zawsze istnieje jednak ryzyko, że na serwerze produkcyjnym pozostanie aktywne konto domyślnego użytkownika, utwo- rzone w czasie instalacji. Z tego powodu sugerujemy usunięcie takiego konta natychmiast po stwierdzeniu, że baza danych działa prawidłowo. Aby to zrobić, zaloguj się do bazy jako root i uważnie wykonaj następujące instrukcje: O[USN WUGO[USN 4GCFKPIVCDNGKPHQTOCVKQPHQTEQORNGVKQPQHVCDNGCPFEQNWOPPCOGU ;QWECPVWTPQHHVJKUHGCVWTGVQIGVCSWKEMGTUVCTVWRYKVJ# CVCDCUGEJCPIGF O[USN  . 6 (41/WUGT9* 4 WUGT  3WGT[1-TQYUCHHGEVGF UGE Jeżeli pomylisz się w poleceniu . 6 , możesz usunąć z bazy danych swoje konto użyt- kownika. Sprawdź, czy usunięte zostały tylko dwa wiersze. Jeżeli przypadkowo usunąłeś własne konto, poszukaj w dalszej części tego rozdziału przykładu tworzenia nowego konta administratora i wykonaj podany w nim kod. Aby upewnić się, że wszystko zostało wykonane prawidłowo, sprawdźmy, czy w tabeli user znajduje się użytkownik root, który może się logować z komputera localhost: O[USN 5 . 6WUGTJQUV(41/WUGT9* 4 WUGT TQQV    ^WUGT^JQUV^   ^TQQV^IY^ ^TQQV^NQECNJQUV^   TQYUKPUGV UGE O[USN W wyniku tego zapytania powinien znajdować się co najmniej jeden wiersz zawierający wpisy root i localhost. Jeżeli wszystko zostało wykonane prawidłowo, możemy zażądać przeładowania uprawnień przez serwer MySQL: O[USN (.75*24+8+. ) 5 3WGT[1-TQYUCHHGEVGF UGE O[USN Konto domyślnego użytkownika zostało usunięte. 290 Bazy danych i MySQL. Od podstaw Zarządzanie uprawnieniami użytkowników Po zabezpieczeniu konta root możemy zająć się tworzeniem kont zwykłych użytkowników, nadawaniem uprawnień użytkownikom oraz — gdy to konieczne — usuwaniem ich kont. Tworzenie kont użytkowników Starsze wersje MySQL posiadały program mysqlaccess, który był przeznaczony do tworzenia kont użytkowników w bazie danych. Jest on nadal dostępny, ale zalecamy korzystanie z nowego polecenia )4#06, które zostało wprowadzone w wersji 3.2.1. Omówimy tu tworzenie kont użytkowników za pomocą polecenia )4#06 dostępnego w wierszu poleceń mysql. Istnieją niewielkie różnice w działaniu polecenia )4#06 w wersjach 3.2.1 i 4.0 MySQL. W MySQL 3.2.1 należało jawnie nadawać użytkownikom uprawnienia do dostępu do bazy danych (nadanie prawa dostępu do tabeli nie powodowało automatycznego nadania prawa dostępu do bazy danych). W wersji 4.0 nadanie prawa dostępu do co najmniej jednej tabeli w bazie danych powoduje umożliwienie dostępu do bazy danych. Instrukcja )4#06 ma dosyć prostą składnię, ale
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Bazy danych i MySQL. Od podstaw
Autor:
,

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: