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
To tyle, być może w przyszłości napiszę coś więcej na ten temat. :-)
3 sierpnia, 2012 at 3:32
[code]mysql>source /sciezka/folder/nazwa_pliku.sql[/code]
Zeby wrzucic dumpa do bazy
20 stycznia, 2019 at 15:42
Będąc (50+ letnim) pasjonatem programowania, słabo poruszam się po angielsko-słownikowych "źródłach wiedzy". Spodziewam się, że perspektywicznie, uczniowie ze średnim wykształceniem będą w niedługim czasie mogli pisać swe (tak jak ja natenczas) blogi, samodzielnie.
Moje pytanie : dotyczy sposobu użycia terminalu dla uruchamiania serwera mysql "przy starcie Linuksa".
Będę bardzo zobowiązany za opublikowanie / uzupełnienie "tej treści" = inaczej konieczne będzie "takim jak ja lamerom", nabywanie papierowych książek, a upowszechnienie informatyki zmierzało ku zmniejszeniu użycia "tego medium". Pozdrawiam