blog.milczarek.it
Bartosz Milczarek jeszcze jeden techblog…
14 03 2011

MySQL cz. 1: MySQL w konsoli linuxa. Podstawy

Popularność MySQL nie spada. Nadal jest to najczęściej wybierany RDBMS (Relational Database Management System) do technologii webowych… i nie tylko. Z tego co zauważyłem znaczna część użytkowników korzysta z baz MySQL z poziomu phpMyAdmin, dlatego dziś pokażę jak używać mysql’a z poziomu konsoli w linuxie.

Jest to o tyle ciekawe rozwiązanie, że możemy tworzyć skrypty, które będą wykonywały coś za nas.
Zakładam, że użytkownik ma zainstalowany mysql-server oraz mysql-client. Jeśli nie to należy go zainstalować. Zacznijmy od połączenia z mysql. Robimy to z poziomu root’a w następujący sposób:

# mysql --user=username --password=mypass

Gdzie oczywiście username to nasza nazwa użytkownika mysql, a mypass to hasło ;)
Możemy to również zrobić w nieco krótszy sposób

# mysql -u username -pmypass

Należy zwrócić uwagę, że po -p nie ma spacji.

Jeśli nie chcemy, aby nasze hasło było widoczne na ekranie monitora możemy użyć:

# mysql --user=username --password

lub

# mysql -u username -p

Wtedy zostaniemy poproszeni o hasło w kolejnej linii w konsoli, a hasło nie będzie się wyświetlać. Oczywiście takie rozwiąznie nie sprawdzi się w przypadku, gdy chcemy skorzystać ze skryptu, ale o tym w kolejnym wpisie.

Jeśli chcemy połączyć się z hostem innym niż localhost, używamy:

# mysql -h localhost -u username -pmypass

Skoro jesteśmy już połączeni z mysql, pora na podstawowe komendy. Wyświetlić bazy danych możemy za pomocą:

mysql> show databases;

Otrzymamy wynik na konsoli w postaci:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| database1          |
| database2          |
| mysql              |
+--------------------+

Poza naszymi bazami, zawsze otrzymamy dwie dodatkowe: information_schema oraz mysql. W bazie tej znajdują się jak łatwo można się domyślić wszelkie ustawienie dot. samego mysql. I tak użytkowników jakich mamy stworzonych możemy wyświetlić za pomocą:

mysql> USE mysql
mysql> SELECT user, password, host FROM user;

lub jak ktoś woli od razu:

mysql> SELECT user, password, host FROM mysql.user;

Tworzenie bazy danych:

mysql> CREATE DATABASE temp;

Prostą tabelę utworzymy za pomocą

mysql> USE temp;
mysql> CREATE TABLE temp_table (id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, pole VARCHAR(127), inne_pole VARCHAR(127));

Powyżej opisałem najbardziej podstawowe zagadnienia. Więcej można znaleźć w pomocy:

mysql> help contents

Do wyboru mamy dostępne kategorie:

You asked for help about help category: "Contents"
For more information, type 'help <item>', where <item> 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

Wybieramy je za pomocą:

mysql> help Nazwa Kategorii

np.:

mysql> help Data Definition

W dzisiejszym wpisie pokazałem jak używać MySQL w konsoli linuxa oraz najbardziej podstawowe komendy. Kolejny wpis także będzie poświęcony MySQL, już teraz zapraszam do jego przeczytania.

Leave a comment

5 Comments.

  1. fajny tutorial :) proszę o więcej

    • niefajny tutorial. nie potrzebnie uczy działania z konta roota. i źle że najpierw pokazany jest sposób połączenia -pmypass a potem dopiero wspomniane jest ze można też podać hasło bez pokazywania go wszystkim dookoła. i nie wspomina żeby czyścić .mysql_history

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Trackbacks and Pingbacks:

Szukaj
Autor

    Bartosz Milczarek, student III roku informatyki (FTIMS) na Politechice Łódzkiej, specjalność: inżynieria oprogramowania i analizy danych (typowy geek). Softwer developer z zamiłowania. Wcześniej bardziej front- i back-end devloper. Ostatnio najczęsciej piszę w C++/Qt, Java i na platformę Android.

    (więcej)
Kategorie