MySQL jest bodajże najpopularniejszym system zarządzania relacyjnymi bazami danych stosowanym dla aplikacji internetowych, zresztą nie tylko internetowych. Wiele popularnych CMS, takich jak WordPress, Joomla, czy Drupal wykorzystują do działania właśnie MySQL.
Z tego co zaobserwowałem, to lwia część użytkowników korzysta z MySQL poprzez phpMyAdmin, dlatego dzisiaj postaram się pokazać jak korzystać z MySQL z konsoli Linuxa. Jest to ciekawe rozwiązanie chociażby z dlatego, że można tworzyć skrypty które automatyzują pracę.
Naturalne jest to, że aby skorzystać z serwera należy mieć go zainstalowanego 😉 potrzebne będą dwa pakiety mysql-server oraz mysql-client, jeśli nie są one zainstalowane, należy zrobić to teraz.
Teraz można połączyć się z bazą:
mysql --user=UŻYTKOWNIK --password=HASŁO
Można zrobić to również w nieco krótszy sposób:
mysql -u UŻYTKOWNIK -pHASŁO
To nie błąd, po -p nie ma spacji ;p. Można połączyć się również w taki sposób aby hasło nie było widoczne na ekranie:
mysql --user=UŻYTKOWNIK --password
Lub w nieco krótszej formie:
mysql -u username -p
Następnie w kolejnej linii w konsoli zostaniemy poproszeni o hasło. Proszę nie panikować, hasło nie będzie się wyświetlało podczas jego wprowadzania. Zapewnia to większe bezpieczeństwo, hasło nie zostaje zapamiętane chociażby w Bash history. Należy jednak pamiętać, że ten sposób nie zadziała w przypadku gdy zaistnieje potrzeba stworzenia skryptu.
Gdy chcemy połączyć się z MySQL znajdującym się na innym hoście niż lokalny używamy:
mysql -h JAKIŚ-HOST.PL -u UŻYTKOWNIK -pHASŁO
Teraz gdy już jesteśmy połączeni z MySQL, pora na podstawowe komendy wykonywane już nie w powłoce (na przykład Bashu), a już w MySQL.
Tworzenie nowej bazy danych:
mysql> CREATE DATABASE nowa_baza;
Praca z bazą danych:
mysql> USE nowa_baza;
Tworzenie nowego użytkownika bazy, oraz nadanie mu wszystkich praw do danej bazy:
GRANT ALL ON nowa_baza.* TO UŻYTKOWNIK_BAZY@localhost IDENTIFIED BY 'HASŁO';
Usuwanie bazy:
mysql> DROP DATABASE nowa_baza;
Wyświetlanie wszystkich dostępnych baz:
mysql> show databases;
Otrzymamy wynik podobny do tego:
+--------------------+ | Database | +--------------------+ | information_schema | | nowa_baza | | inna_baza | | mysql | +--------------------+
Po za bazami tworzonymi przez użytkowników zawszę otrzymamy jeszcze dwie dodatkowe information_schema i mysql, jak nietrudno się domyślić znajdują się w nich wszystkie ustawienia dotyczące samego MySQL, jak i listę użytkowników jakich mamy utworzonych – listę użytkowników można wyświetlić wklepując poniższe polecenie:
mysql> SELECT user, password, host FROM mysql.user;
Opisałem tylko te najbardziej podstawowe zagadnienia, więcej informacji można wyszukać jak zwykle to bywa w pomocy:
mysql> help contents
Do wyboru są następujące kategorie:
You asked for help about help category: Contents For more information, type 'help ', where is one of the following categories: Account Management Administration Compound Statements Data Definition Data Manipulation Data Types Functions Functions and Modifiers for Use with GROUP BY Geographic Features Language Structure Plugins Table Maintenance Transactions User-Defined Functions Utility
Wybiera się je za pomocą:
mysql> help Nazwa Kategorii
Na przykład:
mysql> help Table Maintenance
Poniższy poradnik opisuje sposób instalacji KeePass w systemie Ubuntu. Całość wykonamy za pomocą kilku poleceń…
Master PDF Editor to wszechstronny program PDF, który zawiera wiele funkcji. Oprócz tworzenia i edycji…
Iotop jest prostym narzędziem dla systemów Uniksowych umożliwiającym monitorowanie użycia dowolnego nośnika pamięci flash/hdd/ssd w…
Możesz oddzielić dwa lub więcej poleceń za pomocą średników (;), Średnik (;): służy do oddzielania…
Poniższy poradnik opisuje w jaki sposób za pomocą konsoli możemy dokonać edycji danych zdjęcia exif.…
Poniższy poradnik opisuje sposób instalacji Rocket.Chat W systemie Rocky Linux 8 Całość bardzo prosto zainstalujemy…