background image

Administrowanie systemami komputerowymi 

7

Temat: Konfiguracja i administracja bazą 

danych MySQL

Zadania:

Data:

Autor: Piotr Gębala

1 2 3 4 5 6 7 8 9 10 13 XI 2013

Autor: Mateusz Macięga

E E E E M E - - - -

10:00-12:15

Zadanie 1.  Konfiguracja użytkownika root i tworzenie nowej bazy.

Na początku  ustawiamy hasło użytkownika root za pomocą polecenia „mysql”. Należy pamiętać,
że wszystkie komendy zapisywane są w pliku /.bash_history. Z wcześniej wymienionego pliku
usuwamy wpis dotyczący ustawiania hasła „roota”.
Następnie tworzymy nową bazę danych za pomocą polecenia:

mysqladmin create mojaBaza -u root -p

Zadanie 2. Tworzenie kont użytkowników oraz nadawanie im praw dostępu.

Aby stworzyć nowe konta użytkowników musimy zalogować się do konta root'a a następnie przejść
do MySQL'a. Tworzymy nowe konto użytkownika „studentASK” oraz nadajemy mu podstawowe
uprawnienia do naszej nowo utworzonej bazy „mojaBaza”.

grant select,insert,update,delete,create,drop on mojaBaza.* to 

studentASK@localhost identified by 'ask';

W celu sprawdzenia poprawności wykonanej operacji próbujemy zalogować się na nowo 
utworzone konto „studentASK”

mysql -u studentASK -p

Zadanie 3. Tworzenie kopii zapasowej bazy danych.

MySQL posiada wbudowane narzędzie „mysqldump” za pomocą, którego możemy stworzyć pełną
kopie naszej bazy. W tym celu za pomocą polecenia mkdir tworzymy folder, w którym będzie
przechowywać naszą kopię zapasową.

mkdir mysql/kopiaZapasowa

W następnym kroku wywołujemy komendę, która utworzy plik kopii w przeznaczonym do tego 
folderze.

mysqldump –u root -p mojaBaza> /home/mysql/kopiaZapasowa/mojaBaza.2012-10-18

Narzędzie   „mysqldump”   umożliwia   nam   stworzenie   kopii   tylko   dla   określonych   tabel.   Aby
przetestować takie wykorzystanie narzędzia tworzymy przykładową tabelę w naszej bazie danych.

use mojaBaza;
create table student( 

nazwisko char(22), 
ocena int(7));

Teraz możemy stworzyć kopie zapasową naszej tabeli. Kopie tworzymy w podobny sposób jak
poprzednim razem. Jeśli chcemy aby kopia zajmowała mniej na dysku możemy ją skompresować w
locie za pomocą polecenia „gzip”.

mysqldump –u root -p mojaBaza student > /home/mysql/kopiaZapasowa/student.2012-
10-18

background image

Aby przywrócić bazę z przykładowego pliku musimy wykorzystać narzędzie w następujący sposób:

mysql -u root -p mojaBaza1 < /home/mysql/kopiaZapasowa/mojaBaza.2012-10-18

Zadanie 4. Migracja/przenoszenie bazy danych w inne miejsce

Przed   procesem   przenoszenia   bazy  danych   należy  ją   wyłączyć   i   stworzyć   katalog,   do   którego
będziemy   migrować   bazę.   Następnie   należy   skopiować   naszą   bazę   danych   do   utworzonego
katalogu.

cp -pvdR /var/lib/mysql /home/mysql/migracja 

Ostatnim krokiem jest modyfikacji pliku konfiguracyjnego bazy „/etc/mysql/my.cnf”. Należy w
wierszu „datadir” zmienić folder z naszą bazą, w tym przypadku będzie to „/home/mysql/migracja”.
Zadanie 5. Klastrowanie/Replikacja.

Proces replikacji polega na działaniu w czasie rzeczywistym niezależnych serwerów. W przypadku
awarii   jednego   z   serwerów   mamy   w   pełni   funkcjonalne   serwery  w   kopiami   bazy.  W  naszym
przykładzie wykorzystamy replikację w oparciu o schemat master-slave.

Na serwerze master musimy włączyć logowanie binarne oraz ustawić unikalny identyfikator serwer 
na wartość 1. W tym celu modyfikujemy plik „etc/mysql/my.cnf”. Po dokonaniu zmian należy 
zresetować bazę danych.

log-bin = /var/log/mysql/mysql-bin.log 
server-id=1

Ostatnim krokiem jest zalogowanie się jako root do MySQL i utworzenie użytkownika z 
uprawnieniami do pracy w charakterze serwera slave.

Konfiguracje serwera slave należy rozpocząć od pliku „my.cnf”. Należy ustawić unikalny 
identyfikator serwera. Kolejnym krokiem jest konfiguracja z poziomu konta roota w MySQL'u. W 
tym celu używamy polecenia „CHANGE MASTER”. 

CHANGE MASTER TO MASTER_HOST='192.168.112.168', MASTER_USER='user2', 

MASTER_PASSWORD='ask2', MASTER_LOG_FILE='mysql-bin.000001', 
MASTER_LOG_POS=166;

Aby rozpocząć replikację wykonujemy polecenie „START SLAVE”. W celu sprawdzenia stanu 
serwera używamy komendę „SHOW SLAVE STATUS”.

Istnieją różne metody replikacji danych. Możemy wykonać replikację tylko jednej bazy danych, 
wszystkich baz z wyjątkiem jednej, tylko wybranej tabeli oraz wszystkich tabel z wyjątkiem 
wybranej.

Zadanie 6. Zakończenie ćwiczenia

Po wykonaniu wszystkich ćwiczeń usuwamy wszystkie pliki i katalogi, które utworzyliśmy. 
Dodatkowo należy zatrzymać serwer Slave oraz zresetować hasło roota.

Wnioski:

Wszystkie   ćwiczenia   udało   się   w   całości   zrealizować.   Nie   napotkaliśmy   żadnych

problemów podczas wykonywania zadań. Laboratorium nauczyło nas w jaki sposób prawidłowo
zarządzać serwerem MySQL.