W tej części zainstaluje serwer bazy danych i pokażę jak to zrobić. Zainstaluję fork Mysql czyli MariaDB. Obsługiwany tak samo jak Mysql przez wszystkie frameworki napisane w PHP. W praktyce jeśli uczysz się mysql lub korzystasz z WordPress lub Symfony, nie powinieneś odczuć różnicy między Mysql a MariaDB. Różnice między nimi oczywiście są, ale trzeba by się bardzo zagłębić, żeby o nich mówić. Uważam jednak, że większość początkujących i średnio zaawansowanych może stwierdzić, że to jest po prostu to samo i tak przyjmijmy na potrzeby tego poradnika w kwestii wyjaśnienia dlaczego nie instalujemy bezpośrednio Mysql tylko MariaDB.
Najpierw sprawdzamy aktualizacje pakietów w terminalu:
sudo apt update
sudo apt upgrade
Jeśli trzeba, zatwierdź Y i kliknij enter.
Następnie zainstalujemy server mariadb komendą:
sudo apt install mariadb-server
Teraz używamy polecenia:
sudo mysql_secure_installation
I wykonujemy następujące czynności:
Jak na załączonym wyżej obrazku widać. Wykonujemy wszystko co jest na czerwono zaznaczone. Czyli najpierw klikamy ENTER, później Y tam gdzie jest Y. Nowe hasło do root jakie ja wpisałem lokalnie u siebie to 1234, potwierdziłem to samo hasło i wszędzie zaznaczyłem Y.
Serwer bazy danych został już skonfigurowany i prawdopodobnie działa. Możemy to sprawdzić komendą:
sudo service mysql status
To nie wszystko. Teraz musimy utworzyć bazę danych oraz użytkownika tej bazy. Wychodzę z założenia że na potrzeby lokalnego developmentu będziemy mieć tylko jednego użytkownika z możliwością uprawnień do wszystkich nowych baz jakie powstaną na serwerze. Oczywiście na środowisku produkcyjnym nie polecam tak robić, ale localhost ma po prostu działać obecnie szybko i wygodnie.
Wchodzimy na serwer bazy danych komendą:
sudo mysql
Teraz utworzymy bazę danych o nazwie dgdev komendą:
CREATE DATABASE dgdev;
Teraz utworzymy użytkownika, który będzie miał dostęp do tej bazy danych i wszystkich, które powstaną na localhost i zatwierdzimy uprawnienia trzema komendami:
CREATE USER 'dgdevpl'@'localhost' IDENTIFIED BY '1234';
GRANT ALL PRIVILEGES ON *.* TO 'dgdevpl'@'localhost';
FLUSH PRIVILEGES;
Całość powinna mieć taki wynik:
Teraz mamy wszystko czego potrzebujemy. Wpisujemy w terminalu:
exit;
I mamy już dane do naszej bazy danych, które możemy wykorzystać przy naszych skryptach na przykład w PHP. Dane do powyżej utworzonej bazy danych to:
Nazwa bazy danych: dgdev
Nazwa użytkownika: dgdevpl
Hasło: 1234
Hasło ustawiłem takie samo jak miał root, przypominam, że do pracy lokalnej to jest jeszcze ok, ale jeśli chciałbyś wystawić swoją stronę na jakimś publicznym serwerze to odradzam ustawiania takich samych haseł dla root i użytkowników, a dodatkowo odradzam używanie tak prostych haseł.
To wszystko. Możemy korzystać już z bazy Mysql.