[[oktatas:linux:adatbázis-kezelés|< Adatbázis-kezelés]] ====== MySQL ====== * **Szerző:** Sallai András * Copyright (c) 2015, Sallai András * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== Bevezetés ===== A MySQL parancssoros eléréséről lesz szó ezen a lapon. A MySQL egy hálózati adatbázis-kezelő rendszer, amely elérhető a mysql nevű paranccsal is. Mi most erre koncentrálunk. A MySQL egyéb használatáról a következő helyeken olvashatunk: * [[oktatas:adatbázis-kezelés:mysql|MySQL adatbázis-kezelés]] * [[oktatas:linux:adatbázis-szerver|Adatbázis-szerver]] ===== Beszerzés ===== A mysql parancs az MySQL szerver telepítésével fel kerül szerver mellé. Ha valaki valamilyen LAMP szervert használ, a telepítés ott is megtörténik. A szerver telepítése Debian alapú rendszeren: # apt-get install mysql-server ===== Kapcsolódás ===== A MySQL szerverhez azonosítás után lehet kapcsolódni. Mindig van egy rendszergazda felhasználó, amivel felvehető a többi felhasználó, és jogokat adhatunk az adatbázisokhoz. A LAMP szerverek telepítése után a root felhasználónak általában nincs jelszava, a Linuxra telepített szerverek esetén általában a telepítéskor kér egy root felhasználó jelszót is. $ mysql -u root -p A -u kapcsoló után megadhatjuk milyen felhasználóval szeretnénk kapcsolódni. A -p kapcsoló arra utasítja a klienst, hogy kérje be tőlünk a jelszót is, amit majd továbbít a szervernek az azonosításhoz. ===== Használat ===== Kapcsolódás után a szerver információkat ír magáról, majd egy várakozási sort ír ki, ahol várja a parancsokat. $ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 39 Server version: 5.5.44-0ubuntu0.14.04.1 (Ubuntu) Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> A várakozási jel: mysql> Kilépni a "quit" paranccsal tudunk. mysql> quit A MySQL kliens saját parancsait és SQL parancsokat képes fogadni. A kliens parancsait szavakkal, és "\" jelekkel bevezetett betűkkel adhatjuk meg. Ezek szerinte kilépni ki tudunk a fent említett módon: mysql> quit A másik lehetőség: mysql> \q Illetve van még egy parancs: mysql> exit Segítséget a "help" paranccsal kaphatunk: mysql> help Vagy: mysql> \h ===== Munka adatbázisokkal ===== Egy adatbázishoz a "use" kliens paranccsal tudunk kapcsolódni. Előbb persze meg kell tudnunk milyen adatbázisok vannak. Ez a következő SQL paranccsal tudjuk megtekinteni: mysql> show databases; Vegyük észre az SQL utasítás végén a ";" karaktert. Minden SQL utasítást ";" karakterrel zárni. A szimpla kliens parancsokat nem kell ilyen lezáró. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | comp | | mysql | | ost | | performance_schema | | phpmyadmin | | zoldZrt | +--------------------+ 7 rows in set (0.06 sec) A ";" pontosvessző zárásnak van egy előnye is. A hosszú SQL utasításokat több sorba is írhatjuk. Lássuk az előbbi egyszerű utasítást két sorban: mysql> show -> databases; +--------------------+ | Database | +--------------------+ | information_schema | | comp | | mysql | | ost | | performance_schema | | phpmyadmin | | zoldZrt | +--------------------+ 7 rows in set (0.06 sec) Vegyük észre a "->" másodlagos várakozásijelet a "databases;" előtt. ===== Adatbázis létrehozása ===== Adatbázist a "create" SQL utasítással tudunk létrehozni: mysql> create database pirosBt; A "database" egy alparancsnak tekinthető, amellyel megmondjuk mit kell létrehozni. A "pirosBt", esetünkben a létrehozandó adatbázis neve. ===== Következtetés ===== A kezdéshez ennyi elég. További SQL utasítást lásd a következő helyeken: * [[oktatas:adatbázis-kezelés:mysql:mysql_sql_ddl|MySQL SQL DDL]] (Másik névtér) * [[oktatas:adatbázis-kezelés:mysql:mysql_sql_dcl|MySQL SQL DCL]] (Másik névtér) * [[oktatas:adatbázis-kezelés:mysql:mysql_sql_dml|MySQL SQL DML]] (Másik névtér)