Co to jest MySQL? Instalacja. Artykuł pobrano ze strony eioba.pl



Podobne dokumenty
Administracja bazami danych. dr inż. Grzegorz Michalski

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH

Instytut Teleinformatyki

Data modyfikacji:

Usługi sieciowe systemu Linux

Administracja bazami danych

Programowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

CREATE USER

AKTYWNY SAMORZĄD. Instrukcja instalacji, aktualizacji i konfiguracji.

INSTRUKCJA INSTALACJI I KONFIGURACJI APLIKACJI WEBSOFT SITE ANALYZER 2.7.1

Najczęściej występujące problemy z instalacją i konfiguracją i ich rozwiązania.

Instalacja systemu zarządzania treścią (CMS): Joomla

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Windows Server Active Directory

Projektowanie systemów baz danych

Jak stworzyć stronę WWW drużyny harcerskiej. dh Paweł Wnuk

Samba, instalacja i konfiguracja

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

INSTRUKCJA INSTALACJI I KONFIGURACJI APLIKACJI WEBSOFT CEIDG MONITOR

Instalacja i konfiguracja serwera IIS z FTP

Sieciowa instalacja Sekafi 3 SQL

Instrukcja instalacji v2.0 Easy Service Manager

Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce WWW

instrukcja INSTALACJI APi_proxy

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Witaj, jeżeli przegladasz ten plik oznacza że chcesz stworzyć własnego masterka. No cóż koniec bełkotania bierzmy się za zrobienie mastera!

Archiwizacja baz MSSQL /BKP_SQL/ opis oprogramowania

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Użycie pakietów instalacyjnych.msi w oprogramowaniu WYWIAD Plus

Forte Zarządzanie Produkcją Instalacja i konfiguracja. Wersja B

Podstawy technologii WWW

Wprowadzenie do Doctrine ORM

SYSTEM INFORMATYCZNY KS-SEW

Dokumentacja fillup - MS SQL

T: Zabezpieczenie dostępu do komputera.

BACKUP BAZ DANYCH FIREBIRD

Systemy operacyjne. Zasady lokalne i konfiguracja środowiska Windows 2000

SOLIDWORKS PDM Tworzenie kopii zapasowych.

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

Ustawienia personalne

Instrukcja podłączenia bramki IP 1R+L oraz IP 2R+L w trybie serwisowym za pomocą usługi telnet.

Rejestracja użytkownika Bentley Często zadawane pytania techniczne

Liczba godzin 1,2 Organizacja zajęć Omówienie programu nauczania 2. Tematyka zajęć

MySQL. Æwiczenia praktyczne

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest

Projektowanie baz danych za pomocą narzędzi CASE

PCPR. Instrukcja instalacji, aktualizacji i konfiguracji.

Instrukcja instalacji Control Expert 3.0

Maple i wykresy. 1.1 Najpierw należy się zalogować. Jak to zrobić zostało opisane w moim poprzednim tutorialu.

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs.

Pracownia internetowa w szkole ZASTOSOWANIA

Podgląd z rejestratorów IPOX na komputerze z systemem WINDOWS za pomocą programu NVMS-2.0 LITE

dziennik Instrukcja obsługi

MikroTik Serwer OpenVPN

System kontroli dostępu ACCO NET Instrukcja instalacji

Dokumentacja serwisu internetowego Zespołu Szkół Technicznych w Radomiu.

4. Podstawowa konfiguracja

Instalacja programu Warsztat 3 w sieci

Tomasz Greszata - Koszalin

Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

Silent setup SAS Enterprise Guide (v 3.x)

Kancelaria instalacja sieciowa

1. INSTALACJA SERWERA

Rys. 1. Widok uruchomienia polecenia apt-get install build-essential. Rys. 2. Widok uruchomienia polecenia apt-get install apache2

PHP: bazy danych, SQL, AJAX i JSON

Kalipso wywiady środowiskowe

Podręcznik administratora Systemu SWD ST Instrukcja instalacji systemu

BACKUP BAZ DANYCH MS SQL

Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Windows

Zanim zaczniesz. Warto ustawić kartę sieciową naszego serwera.

Konfiguracja zapory Firewall w systemie Debian.

DESlock+ szybki start

Część zadań będzie już zrobiona, np. część programów zainstalowana, ale proszę przeczytać instrukcje i ew. np. zainstalować w domu.

Jak szybko i bezboleśnie zainstalować serwer mysql (dla początkujących)

Włączanie/wyłączanie paska menu

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

Instalacja MySQL.

Windows Serwer 2008 R2. Moduł 8. Mechanizmy kopii zapasowych

Wszystkie parametry pracy serwera konfigurujemy w poszczególnych zakładkach aplikacji, podzielonych wg zakresu funkcjonalnego.

VinCent Administrator

Współpraca z platformą Emp@tia. dokumentacja techniczna

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

Uruchamianie bazy PostgreSQL

Mirror Tool.

Ewidencja Wyposażenia PL+

Przebieg instalacji NKP

Instalacja krok po kroku /instalacja programu, serwera bazy danych/

Dokumentacja instalacyjna i konfiguracyjna Aplikacja ADR. Wersja dokumentu 1.0. Strona 1/9

Pomoc dla usługi GMSTHostService. GMSTHostService. Pomoc do programu 1/14

7 Business Ship Control dla Wf-Mag Prestiż i Prestiż Plus

Podstawy technologii WWW

GRUB (GRand Unified Bootloader) - jest bootloaderem instalowanym standardowo w Ubuntu, potrafiącym obsłużyć kilka systemów jednocześnie (Multiboot).

SERWER AKTUALIZACJI UpServ

Z pojedynczym obiekcie zasady grupy znajdziemy dwa główne typy ustawień:

Transkrypt:

Artykuł pobrano ze strony eioba.pl Co to jest MySQL? MySQL jest Systemem Zarządzania Relacyjnymi Bazami Danych. Znany i ceniony jest przede wszystkim ze względu na swoją niebywałą wydajność i szybkość działania. Świetnie nadaje się do obsługi projektów internetowych, ale nie tylko - z powodzeniem używany jest również w wielkich projektach informatycznych organizacji, takich jak chociażby NASA. MySQL jest Systemem Zarządzania Relacyjnymi Bazami Danych. Znany i ceniony jest przede wszystkim ze względu na swoją niebywałą wydajność i szybkość działania. Świetnie nadaje się do obsługi projektów internetowych, ale nie tylko - z powodzeniem używany jest również w wielkich projektach informatycznych organizacji, takich jak chociażby NASA. Przeciwnicy MySQL'a często mówią, jak to bardzo brakuje mu wielu ficzerów, które posiadają prawdziwe, duże systemy baz danych. Ze swojego doświadczenia wiem, że część z tych ludzi nawet nie rozróżnia wersji systemu, które oferuje nam firma MySQL AB (producent MySQL). Ogólne cechy MySQL: Napisany w C i C++ (wydajność!). API dla wielu języków programowania: C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, Tcl. Pełna wielowątkowość, korzystająca z wątków kernela. Oznacza to, że MySQL będzie pracował na maszynie wieloprocesorowej, jeśli tylko taką posiadasz. Opcjonalna obsługa transakcji. B-drzewa z kompresowanymi indeksami. To wam się przyda, jakbyście mieli wieeeelkie bazy ;) Wystarczy powiedzieć, że znacząco wpływa na czas wyszukiwania i pobierania danych (wierszy) z bazy. Istnieje możliwość "osadzenia" (ang. embed) serwera MySQL w aplikacji, którą piszemy. Jeśli ktoś potrzebuje funkcjonalności systemu baz danych, a niekoniecznie chce się bawić w klient-serwer, to czemu nie? Duża liczba typów danych w kolumnach. Liczby, ciągi znakowe, obiekty binarne (BLOB), data & czas, typy wyliczeniowe, zestawy. Na uwagę zasługuje fakt, że w MySQL możemy daną kolumnę dostosować do pewnej wielkości danych, które zamierzamy w niej przechowywać (np. TINYINT, a nie INT), tym samym uzyskujemy większą wydajność i mniejsze zużycie pamięci (również dyskowej). Istnieje możliwość definiowania niektórych typów danych jako narodowych (różne standardy kodowania chociażby). Obsługa klauzul agregujących i grupujących SQL. Złączenia zewnętrzne (LEFT & RIGHT). Komenda SHOW pozwalająca przeglądać informacje na temat baz, tabel i indeksów. Komenda EXPLAIN opisująca pracę optymalizatora zapytań. Bardzo prosty (z punktu widzenia administratora) system zabezpieczeń. Wszystkie hasła są szyfrowane. Połączenia z serwerem przez: TCP/IP, ODBC, JDBC. Lokalizacja (w sensie językowym) serwera. Komunikaty m.in. po polsku. Instalacja Instalację oprogramowania przeprowadzimy oczywiście z pomocą naszego poldka. Logujemy się jako root, bądź używamy polecenia sudo, jeżeli mieliśmy je skonfigurowane do tego celu. Pierwszą rzeczą, którą będziemy musieli zrobić, jest ściągnięcie i zainstalowanie odpowiednich pakietów z repozytorium PLD. Można zrobić to używając zarówno trybu wsadowego, jak i interaktywnego. Podam oba sposoby, wybierz sobie ten, który bardziej Ci odpowiada :) (osobiście wolę tryb interaktywny, ze względu na tab-completion).

Najpierw uruchamiamy poldka. Można podać mu flagę -n, która oznacza źródło, z którego zamierzamy ściągać pakiety. Jeśli nie podamy tej flagi, wówczas poldek skorzysta z pierwszego źródła wpisanego do pliku /etc/poldek.conf. Ja korzystam ze słowackiego serwera firmy Bentel Ltd., ale to nie ma znaczenia. Instalacja w trybie wsadowym W trybie wsadowym poldka, instalacja wygląda następująco: # poldek -n bentel -i mysql mysql-client mysql-libs Instalacja w trybie interaktywnym W trybie interaktywnym poldka, instalacja wygląda tak: # poldek -n bentel Wczytywanie ftp://spirit.bentel.sk/mirrors/pld/[...]/packages.dir.gz... Przeczytano 5116 pakietów Wczytywanie /root/.poldek-cache/packages.dir.dbcache.var.lib.rpm.gz... Przeczytano 450 pakietów Witaj w poldkowym trybie interaktywnym. Wpisz "help" aby otrzymać pomoc. poldek> Teraz przystępujemy do instalacji pakietów MySQL: poldek> install mysql mysql-client mysql-libs poldek sam zadba o spełnienie wymaganych zależności. Konfiguracja MySQL Żeby móc sprawnie (i bezpiecznie) używać naszego świeżo zainstalowanego serwera, musimy go odpowiedno skonfigurować. Otworzymy naszym ulubionym edytorem tekstu plik konfiguracyjny demona MySQL. W przypadku użycia edytora Vim wydajemy następującą komendę: # vim /etc/mysql/clusters.conf Jeżeli nie zamierzamy zmieniać lokacji, w której będzie u nas pracował MySQL, to po prostu odkomentujmy linijkę z MYSQL_DB_CLUSTERS, a jeżeli zamierzamy umieścić serwer MySQL w innym miejscu, to należy tą linijkę odkomentować, ale dodatkowo zmienić ścieżkę. # standard setting MYSQL_DB_CLUSTERS="/var/lib/mysql" Upewniamy się, że jesteśmy zalogowani na konsoli jako root i wydajemy polecenie: # /etc/rc.d/init.d/mysql init

Polecenie to będzie nam potrzebne tylko przy pierwszym uruchomieniu serwera - służy ono zainicjalizowaniu klastra baz danych. Powiedzmy, że nasz katalog jest "formatowany", ok? ;) Jeżeli pojawiłby wam się błąd, mówiący o duplikacie wpisu localhost-mysql dla klucza 1 - możecie go zignorować.j Teraz możemy przystąpić już do edycji właściwiego pliku konfiguracyjnego RDBMS. Używając naszego ulubionego edytora otwieramy plik /var/lib/mysql/mysqld.conf # vim /var/lib/mysql/mysqld.conf Teraz możemy przystąpić do jego edycji. Pierwszą grupą opcji, na jaką trafiamy jest: # This section must be the first! [mysqld] datadir = /var/lib/mysql/mysqldb/db pid-file = /var/lib/mysql/mysqldb/mysql.pid port = 3306 socket = /var/lib/mysql/mysqldb/mysql.sock user = mysql datadir to oczywiście katalog, w którym składowane będą nasze bazy. Można zostawić tak jak jest. user to użytkownik "pod którym" będzie działał nasz serwer, w sensie - uruchomienie serwera wygląda tak, jakby to ten użytkownik, reprezentowany przez zmienną user go uruchomił (proces należy do niego). Można zmienić, chociaż nie polecam. Nie zalecane jest wykorzystanie do tego użytkownika root! To co nas natomiast bardzo interesuje, z dwóch względów, to opcja port. Chodzi o dwa przypadki: Chcemy umożliwić dostęp do naszego serwera baz danych z zewnątrz, a admin naszej sieci "łaskawie" przekierował nam jakiś port z bramki na nasz komputer, ale niestety nie jest to port 3306, z którego standardowo korzysta MySQL. Edytujemy sobie opcje port w ten sposób, żeby wskazywała na ten, który mamy dostępny. Mamy maszynę z zewnętrznym IP (taką, do której można się podłączyć z Internetu), nie blokowaliśmy jednak dostępu do MySQL, ale chcielibyśmy podnieść choć troszeczkę poziom bezpieczeństwa i udostępnić serwer MySQL na innym porcie. Wybieramy i jakiś i wpisujemy go jako wartość opcji port. # Don't allow connections over the network by default skip-networking Jeżeli chcemy zablokować dostęp do serwera MySQL z zewnątrz (z sieci), to... nie robimy nic. A jeśli chcemy umożliwić innym komputerom łączenie się z naszym serwerem, to należy wykomentować (dodać #) linijkę z skipnetworking. Gdyby nam się kiedyś coś popsuło (zapomnieliśmy hasła, nie możemy dostać się do bazy), to przyda się odkomentowanie tej opcji: n. USE only IF you really need this. #skip-grant-tables Przydatną rzeczą (ale w sumie tylko, jeśli zamierzamy udostępniać bazy na zewnątrz), będzie włączenie logowania połączeń i zapytań (zwalnia pracę serwera). Dodam, że można oczywiście zmienić standardową ścieżkę, do której zapisywane są logi. # Log connections and queries. It slows down MySQL so

# it's disabled by default # log = /var/log/mysql/log Opcje z grupy set-variable wpływają bezpośrednio na pracę i wydajność serwera, nie będę się więc w nie zagłębiał. To trochę trudniejszy temat. Jak ktoś chce bardzo zoptymalizować pracę swojego serwera, to polecam lekturę dokumentacji MySQL. Przydatna jest również znajomość zagadnień relacyjnych baz danych i SQL'a. Przykładowo zerkniemy na jedną zmienną: #set-variable = max_connections=100 Odkomentowanie tej linijki pozwoli nam na ustawienie maksymalnej liczby połączeń, które nasz MySQL będzie mógł przyjąć i obsłużyć w danej chwili. Wszystko zależy od tego, w jakim celu używamy naszego RDBMS - należy postawić sobie pytanie - "ile osób może chcieć podłączyć się do mojego serwera w jednej chwili i ile takich połączeń przypada średnio na jedną osobę?". Odpowiedź wpisujemy w zmienną max_connections. Innym pytaniem mogłoby być "czy skrypty obsługujące moje strony www korzystają ze stałych (persistent) połączeń?" Ponieważ "Polacy nie gęsi i swój język mają" odkomentujemy jeszcze jedną linijkę w pliku konfiguracyjnym, aby włączyć polskie komunikaty: # Language LANGUAGE = polish W tej chwili nasz serwer powinien być już skonfigurowany do pracy. Upewniamy się, że jesteśmy zalogowani na konsoli jako root i wydajemy polecenie: # /etc/rc.d/init.d/mysql start Wywołanie tego skryptu startowego spowoduje uruchomienie demona MySQL w systemie. Upewnijmy się jeszcze, że nasz serwer baz danych rzeczywiście "wstał": # /etc/rc.d/init.d/mysql status MySQL cluster /var/lib/mysql: running Jak widać na załączonym obrazku serwer działa. Ponieważ w tej chwili jest zainstalowany w sposób domyślny i dlatego mało bezpieczny, należy ustawić jakieś hasło dla użytkownika mysql: # mysqladmin -u mysql -S /var/lib/mysql/mysqldb/mysql.sock password 'naszehaslo' Po opcji -S podajemy scieżkę do pliku mysql.sock, który powinien znajdować się w katalogu, w którym umieściliśmy MySQL. Demon MySQL Demon MySQL standardowo startuje wraz z systemem, ale przydaje się znać dwie komendy. Aby włączyć lub wyłączyć serwer, będąc zalogowanym jako root, bądź używając komendy sudo, wydajemy polecenie: # /etc/rc.d/init.d/mysql start stop wstawiając oczywiście opcje start lub stop, w zależności od tego, co chcemy zrobić. mysqladmin mysqladmin jest narzędziem, za pomocą którego możemy tworzyć i usuwać bazy oraz przeładowywać konfigurację. Nie będziemy go używać do wyłączania serwera, bo od tego jest skrypt omówiony powyżej. Narzędzie wywołuje się poleceniem mysqladmin, a flagi i argumenty (opcje) polecenia służą do wykonywania określonych zadań. Ponieważ wcześniej zmieniliśmy hasło dla użytkownika mysql, winniśmy przy każdym poleceniu dodać -u mysql i -p na końcu (aby klient zapytał nas o hasło), np tak dla komendy status: # mysqladmin -u mysql status -p Enter password: Uptime: 6720 Threads: 1 Questions: 1 Slow queries: Opens: 6 \ FLUSH TABLES: 1 Open TABLES: Queries per second avg:.000

Kilka przydatnych komend: create nazwabazy - tworzy nową bazę danych o nazwie nazwabazy. drop nazwabazy - usuwa bazę danych o nazwie nazwabazy flush-privileges albo reload - obie opcje robią to samo - przeładowują tablice uprawnień. Powinniśmy wykonać przeładowanie zawsze, gdy dodamy np nowego użytkownika do jakiejś bazy, ponieważ do czasu przeładowania takie konto jest nieaktywne. mysqldump mysqldump to program, służący do "zrzucania" danych - czyli do robienia kopii zapasowych. Polecenie to jest przydatne w przypadku wykonywania kopii zapasowych podczas aktualizacji MySQL czy też przenoszenia danych na inny serwer. Kilka przydatnych opcji: --databases baza1 baza2... - zrzuca dane z baz, których nazwy podaliśmy w liście oddzielonymi spacjami. --all-databases - to samo co wyżej ale dla wszystkich bazy. --add-drop-table - dodaje DROP TABLE do skryptów tworzących tabele z backup-u (jak będziemy przywracać dane). Przydatne, kiedy np chcemy przywrócić już istniejącą tabelę. Spowoduje to najpierw jej usunięcie, a następnie utworzenie od nowa z danych, które mieliśmy w kopii zapasowej. Ogólnie, żeby uniknąć ewentualnych problemów z duplikatami wierszy, itp. warto tą opcję włączyć. --no-create-info - w kopii nie zostanie zawarta informacja o tworzeniu tabel (nazwy tabel, typy pól, indeksy itp.). Przydatne, jeżeli chcemy zrobić kopię tylko danych, a nie całej struktury bazy. --no-data - Ta opcja pozwala zapisać samą informację o strukturze bazy i tabel, nie zapisuje natomiast danych. --opt nazwabazy - tworzy kopię bazy nazwabazy wraz z rozszerzonymi informacjami MySQL, blokowaniem tabel, itd. Chyba najczęściej stosowana opcja przy robieniu kopii zapasowych. Należy pamiętać, że wynik polecenia mysqldump należy przekierować (>) do jakiegoś pliku. Podam może kilka przykładów użycia tego programu. Zrzucenie zawartości bazy baza1 do pliku baza1_bkp.sql: # mysqldump -u mysql --databases baza1 > baza1_bkp.sql -p Stworzenie kopii zapasowej struktury bazy (bez danych) baza2 i zapisanie jej w pliku baza2_str.sql: # mysqldump -u mysql --databases --no-data baza2 > baza2_str.sql -p Niezwykle przydatną opcją jest --opt omówiona wcześniej. Polecam jej stosowanie do wykonywania kopii całej bazy, włącznie ze strukturą tabel i samymi danymi. Aby stworzyć pełną kopię zapasową bazy baza1 i zapisać ją w pliku baza1_kopia.sql: # mysqldump -u mysql --opt baza1 > baza1_kopia.sql -p Przywracanie baz wykonanych poleceniem mysqldump wygląda tak: # mysql -u mysql baza1 < baza1_kopia.sql -p Inna metoda (w sumie różniąca się zapisem):

# mysql -u mysql -e 'source /sciezka_do_pliku/baza1_kopia.sql' baza1 -p Autor: - Przedruk ze strony: http://pl.docs.pld-linux.org/uslugi_bazydanych mysql.html Artykuł pobrano ze strony eioba.pl