Podstawy obsługi klienta bazy danych MySQL

Aby rozpocząć pracę z bazą danych, zarządzaną przez RDBMS MySQL, należy uruchomić klienta bazy, wydając polecenie o składni

mysql [-h nazwa_komputera_prowadzącego_serwer] [-u użytkownik] [-p]

, przy czym elementy umieszczone w nawiasach [] są opcjonalne.

Ponieważ baza danych MySQL pracuje w modelu klient-serwer, łącząc się z wybranym serwerem baz danych, należy podać nazwę komputera w sieci, na którym uruchomiony jest żądany serwer baz danych. Dokonuje się tego, za pomocą opcji -h, po której należy podać nazwę komputera (ang. host) w formacie URL (ang. Uniform Resource Locator – ujednolicony adres zasobu), typowym dla sieci Internet np. bozon.if.uz.zgora.pl. W wypadku, gdy nie podamy tej opcji, klient MySQL zakłada, że ma połączyć się z serwerem na komputerze “localhost”, czyli na komputerze, z którego uruchamiamy klienta MySQL.

W architekturze klient-serwer niejednokrotnie duży nacisk kładziony jest na odróżnianie użytkowników, ponieważ z serwerem może łączyć się naraz wielu użytkowników, a nie każdy powinien mieć te same możliwości dokonywania operacji (np. wprowadzanie nowych pracowników do bazy danych w przedsiębiorstwie powinno być umożliwione tylko pracownikom działu kadr, ale zmiana płac pracowników może być wykonywana tylko przez dział księgowości itp.). Konieczne jest zatem podanie, jako jaki użytkownik chcemy pracować z bazą danych (można mieć kilka kont pozwalających na dokonywanie różnych czynności). Opcją klienta MySQL, służącą do podania nazwy użytkownika w systemie baz danych danego serwera jest -u, po której należy podać nazwę użytkownika. W wypadku pominięcia tej opcji klient MySQL zakłada, że chcemy połączyć się do bazy danych pod taką samą nazwą użytkownika, jaką nosi nasze konto w systemie operacyjnym, na którym pracujemy.

Ostatnim elementem systemu bezpieczeństwa jest sprawdzenie, czy użytkownik nie próbuje podawać się za kogoś innego. Dokonywane jest to poprzez sprawdzenie podanego przez użytkownika hasła. Aby podać hasło, obowiązujące dla danego konta w bazie danych, należy dołączyć do komendy uruchamiającej klienta MySQL opcję -p. Jakkolwiek istnieje możliwość wpisania hasła w linii komend, nie jest to zalecane. Gdy w linii poleceń znajduje się wyłącznie tekst -p, po uruchomieniu klient zada pytanie o hasło, różnica polega na tym, że nie będzie ono widoczne na ekranie.

Po pomyślnym uruchomieniu klienta bazy MySQL zostaje udostępniona konsola do wydawania poleceń. Oprócz zapytań SQL można wydawać polecenia samemu klientowi, aby zmienić parametry jego pracy. Oto kilka z nich:

help – wyświetla pomoc, zawierającą listę podstawowych poleceń wraz z ich krótkim opisem

use – aby rozpocząć pracę z wybraną bazą danych na serwerze, należy ją wybrać. Dokonuje się tego poprzez wydanie polecenia use nazwa_bazy

source – ponieważ polecenia SQL są często dość długie, a ponadto często, aby osiągnąć zamierzony cel, należy wydać kilka poleceń, istnieje możliwość wpisania ich do pliku, który następnie przedstawi się do wykonania poleceniem source nazwa_pliku

pager – wyniki zapytań SQL są często bardzo długie i nie mieszczą się na ekranie. Poleceniem pager nazwa_programu włącza się mechanizm przeglądania wyników poprzez formatowanie ich na ekranie zewnętrznym programem np. less. (komenda ma wtedy postać pager less).W momencie, gdy chcemy wyłączyć mechanizm stronicowania, wydaje się polecenie nopager.

tee – chcąc zapisać przebieg sesji pracy z bazą danych do pliku tekstowego, używamy polecenia tee nazwa_pliku. Aby zakończyć zapisywanie do pliku, wydaje się polecenie notee.

Podczas pracy z bazą przydatne są również następujące polecenia:

show databases; - wyświetla wszystkie bazy danych, obsługiwane przez dany serwer.

show tables; - pozwala wyświetlić listę wszystkich tabel z wybranej wcześniej bazy danych.

describe nazwa_tabeli; - wyświetla strukturę tabeli.

select now(); - wyświetla aktualną datę i godzinę.

select current_date; - wyświetla aktualną datę.

select user(); - wyświetla aktualną nazwę konta i nazwę komputera, z jakiego nastąpiło połączenie z serwerem.

2003-03-05T10:17:22