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
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.