Felhasználói eszközök

Eszközök a webhelyen


oktatas:adatbazis-kezeles:mariadb:telepites

< MariaDB

MariaDB telepítés

Bevezetés

A MariaDB tulajdonképpen egy MySQL fork, amely azért jött létre, hogy biztosítsa a MySQL környezet nyílt forráskódú megvalósítását, mivel a MySQL-nek új tulajdonosa lett, és az internetes közösség attól tartott nem marad a MySQL nyílt licencű.

2013-ban még külön tárolót kellett felvenni a MariaDB telepítéséhez. 2015-ben a MySQL és a MariaDB is telepíthető volt, de egymással „konfliktban”. 2017-ben már csak a MaraiDB telepíthető.

Beszerzés

Windows

choco install mariadb

Tegyük útvonalba:

c:\Program Files\MariaDB 11.1\bin\

Így lesz egy kliens program is mariadb néven.

A szolgáltatások között mysql néven kell keresni:

sc query mysql

Debian GNU/Linux

A Debian alapú rendszerek, ma (2017), már alapértelmezetten a MariaDB szervert telepítik, még ha a mysql-server csomagot telepítem, akkor is.

A MariaDB telepítéséhez:

apt install mariadb-server

Ha megnézzük a futó folyamatokat, akkor a következő folyamatot láthatjuk:

/usr/sbin/mysqld

Ami valójában egy MariaDB szerver.

Docker Compose

Felhasználókezelés

Felhasználók listázása:

select User from mysql.user;

Létrehozás:

create user 'janos'@'localhost';

Létrehozás jelszóval:

create user 'janos'@'localhost' identified by 'titok';

Létrehozás jelszóval, jogok beállításával:

grant all privileges on janosAdatbazisa.* to 'janos'@'localhost';

Felhasználók törlése:

drop user 'joska'@'localhost';

Ha szeretnénk UNIX_SOCKET-et beállítani egy felhasználónak:

create user 'janos' identified via unix_socket;

Felhasználók megtekintése:

select user, password, plugin from user;

vagy:

select user, password, plugin from user\G;

Milyen jogai vannak a janos felhasználónak:

show grants for 'janos'@'localhost';

Jelszó

Jelszó változtatása:

SET password FOR 'janos'@'localhost' = password('titok') ;

Biztonság növelése

Biztonsági beállításokhoz használjuk a következő scriptet:

# mysql_secure_installation

A következőket teszi lehetővé:

  • a root számára jelszóbeállítás
  • a localhoston kívüli engedélyezett root fiókok törlése
  • a névtelen felhasználók törlése
  • a névtelenül használható, test adatbázis törlése

Debian 9 és 10 rendszeren szükségtelen a használata, mert alapértelmezetten:

  • a root felhasználónévvel, csak linuxos root felhasználóként lehet belépni
  • nincs localhoston kívüli root felhasználó
  • nincs névtelen felhasználó
  • nincs névtelen felhasználóval elérhető test adatbázis

Kliens

A MariaDB szerver mellé feltelepszik egy kliens is, amit mysql parancsként használhatunk. A korábbi MySQL szerverek mellé is ez a parancssoros klienst települt.

Indítása tehát:

# mysql

Vagy:

# mariadb

A Debian 9 verziójától a MariaDB a UNIX_SOCKET hitelesítő kiterjesztéssel telepszik, és a root felhasználó számára ez be is van állítva. A 9-es verziótól az is változás, hogy csak egyetlen root felhasználót kapunk. A mysql klienssel rendszergazdaként jelszó nélkül be tudunk jelentkezni, köszönhetően a UNIX_SOCKET kiterjesztésnek. Ez persze azt is jelenti, hogy ha megadunk egy jelszót, még azt sem veszi figyelembe.

UNIX_SOCKET esetén, a Linuxon bejelentkezett felhasználó már egyszer hitelesítette magát. Ha ez a root felhasználó, akkor MariaDB szerveren nem kell root felhasználóként újra azonosítást végeznie.

A kiterjesztés beállítható a más felhasználók számára is, lásd Felhasználók kezelése.

Adatbázis kiválasztása:

use dbnev

Adatbázis ne legyen kiválasztva:

create database a;
use a;
drop database a;

mycli kliens

A mycli csomag parancskiegészítés lehetősége. Telepítése:

apt install mycli

Bejelentkezés hasonló a mysql kliensnél megszokottal:

mycli -u janos -p

sqlline kliens

Telepítés:

apt install sqlline

Az sqlline indítása:

$ sqlline -d com.mysql.jdbc.Driver

Kapcsolódás adatbázishoz:

sqlline> !connect jdbc:mysql://localhost:3306/test01 janos titok

A kapcsolódás eredménye:

sqlline> !connect jdbc:mysql://localhost:3306/test01 janos titok
Connecting to jdbc:mysql://localhost:3306/test01
Connected to: MySQL (version 5.5.5-10.1.23-MariaDB-9+deb9u1)
Driver: MySQL Connector Java (version mysql-connector-java-5.1.42 ( Revision: ${revinfo.commit} ))
Autocommit status: true
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:mysql://localhost:3306/test01> !tables
+------------+--------------+-------------+-------------+----------+----------+
| TABLE_CAT  | TABLE_SCHEM  | TABLE_NAME  | TABLE_TYPE  | REMARKS  | TYPE_CAT |
+------------+--------------+-------------+-------------+----------+----------+
+------------+--------------+-------------+-------------+----------+----------+
0: jdbc:mysql://localhost:3306/test01> 

Tábla létrehozása:

0: jdbc:mysql://localhost:3306/test01> create table szemelyek ( nev varchar(50));

Webes felület

apt install phpmyadmin php-mbstring php-gettext

Böngészőbe írjuk be:

http://localhost/phpmyadmin/

Webes felületen nem tudunk belépni rootként, ha be van kapcsolva a unix_socket. Ezért kapcsoljuk ki, ha ezt szeretnénk:

# mysql -u root -p mysql 
MariaDB [mysql]> update user set plugin='' where user='root';
MariaDB [mysql]> SET password = password('titok') ;
MariaDB [mysql]> flush privileges;

Webes felület felhasználója

CREATE DATABASE dbnev;
GRANT ALL PRIVILEGES ON dbnev.* TO 'janos'@'localhost' IDENTIFIED BY 'titok';
FLUSH PRIVILEGES;

Típusok

Valós típusok
Precizitás előjel
bitek
exponens
[bitek]
mantisza
[bitek]
exponens
[ decimálisan ]
tartomány
[ decimálisan ]
Single 1 8 24 -38-tól – +35 7 számjegy
Double 1 11 53 -304-tól – +308 15 számjegy

MariaDB SQL

Tábla létrehozása;

MariaDB [Ketto]> create table Tabla_1 (fizetes float);

Az RLIKE használata lehetővé teszi a szabályos kifejezések használatát:

MariaDB [zoldZrt]> select nev from Szemelyek where nev rlike "^a.*";

Titkosítás

SELECT sha2("titok", 512);

Monitorozás

A mariadb-client-10.1 csomaggal telepítésre kerül a innotop nevű parancs is. Az innotop egy top klón, MariaDB vagy MySQL számára.

Indítása:

innotop

vagy:

innotop -u root

esetleg:

innotop -h 127.0.0.1 -u root -p titok

A felület:

[RO] Dashboard (? for help) localhost, 2h27m, 0.40 QPS, 1/1/2 con/run/cac thds, 

Uptime  MaxSQL  ReplLag  QPS   Cxns  Run  Miss  Lock  Tbls  Repl  SQL
 2h27m                   0.40     1       0.00     0    27 

A „@” karakterrel kezdeményezhető új konfiguráció:

You can enter the name of a new connection to create it.

____________________________ Choose from ____________________________
localhost   DBI:mysql:;host=localhost;mysql_read_default_group=client

Choose connections for this mode: helyi
There is no connection called 'helyi'.  Create it?: y

Következő lépés:

Typical DSN strings look like
   DBI:mysql:;host=hostname;port=port
The db and port are optional and can usually be omitted.
If you specify 'mysql_read_default_group=mysql' many options can be read
from your mysql options files (~/.my.cnf, /etc/my.cnf).

Enter a DSN string: DBI:mysql:;host=localhost

Következő lépés:

Optional: enter a table (must not exist) to use when resetting InnoDB deadlock information:
Do you want to specify a username for helyi?: y
Do you want to specify a password for helyi?: y
Enter username for helyi: root
Enter password for 'root' on helyi: 
Save password in plain text in the config file?: y

Eredmény:

[RO] Dashboard (? for help) helyi, 2h25m, 0.30 QPS, 2/1/1 con/run/cac thds, 10.1

Uptime  MaxSQL  ReplLag  QPS   Cxns  Run  Miss  Lock  Tbls  Repl  SQL
 2h25m                   0.30     2       0.00     0    27

A -h -u -p kapcsolókkal megadott adatok az újraindítás után elvesznek. Ha szeretnénk menteni, akkor használjuk a --write kapcsolót:

innotop --write

Ha a konfiguráció mentésre került, akkor a létrejön egy a következő könyvtár:

~/.innotop

Benne a konfigurációs állomány és a kiegészítők számára egy könyvtár.

ls -l .innotop
összesen 8
-rw------- 1 root root 2712 júl   10 10:48 innotop.conf
drwxr-xr-x 2 root root 4096 júl   10 10:48 plugins

Azonosítás módja

USE mysql
SELECT USER, authentication_string, plugin, host FROM USER;

Módosítások

Tartalom törlése

DELETE FROM table

VSCode

SQLTools

Több csomagból:

  • SQLTools
    • Connecting users to many of the most commonly use…
    • Matheus Teixeira
  • SQLTools MySQL/MariaDB
    • Matheus Teixeira *
    • Az első része
  • SQLTools SQLite

Database Client

Maximum 3 kapcsolat:

  • Database manager for MySQL/MariaDB, PostgreSQL,…
  • Weijan Chen

Egyéb

  • MySQL
    • MySQL management tool
    • Jun Han

Források

oktatas/adatbazis-kezeles/mariadb/telepites.txt · Utolsó módosítás: 2024/02/08 16:45 szerkesztette: admin