MariaDB: Porovnání verzí
Z Poznámkový blok
(Založena nová stránka s textem „== Základní příkazy pro práci s MariaDB (MySQL) == Připojení na MariaDB v docker docker exec -ti mariadb mariadb -u root -p === Database === === Z…“) |
(→Cardinality) |
||
| (Nejsou zobrazeny 2 mezilehlé verze od 2 dalších uživatelů.) | |||
| Řádka 22: | Řádka 22: | ||
SELECT User, Host, authentication_string FROM mysql.user; | SELECT User, Host, authentication_string FROM mysql.user; | ||
| − | ==== Vytvoření uživatele === | + | ==== Vytvoření uživatele ==== |
Adresa určuje odkud se může někdo přihlásit na uživatele, znak '''%''' určuje pro všechny | Adresa určuje odkud se může někdo přihlásit na uživatele, znak '''%''' určuje pro všechny | ||
CREATE USER 'user'@'address' IDENTIFIED BY 'password'; | CREATE USER 'user'@'address' IDENTIFIED BY 'password'; | ||
| Řádka 37: | Řádka 37: | ||
==== Smazání uživatele ==== | ==== Smazání uživatele ==== | ||
DELETE FROM mysql.user WHERE user='<user>' AND host = 'adrress' | DELETE FROM mysql.user WHERE user='<user>' AND host = 'adrress' | ||
| + | FlUSH PRIVILEGES; | ||
| + | |||
| + | === Ostatní === | ||
| + | ==== Promazání binlogu ==== | ||
| + | '''x''' nahradit nenovější verzí | ||
| + | PURGE BINARY LOGS TO 'binlog.xxxxxx'; | ||
FlUSH PRIVILEGES; | FlUSH PRIVILEGES; | ||
| Řádka 47: | Řádka 53: | ||
GRANT ALL PRIVILEGES ON *.* TO 'filip'@'%'; | GRANT ALL PRIVILEGES ON *.* TO 'filip'@'%'; | ||
FlUSH PRIVILEGES; | FlUSH PRIVILEGES; | ||
| + | === Cardinality === | ||
| + | Účelem je kontrola tabulek, aby nebylo potřeba provádět analyza na cele databazi. | ||
| + | |||
| + | 1.Prvně zjistíme, které tabulky mají cardinality "0" (%s = nazev_databaze). | ||
| + | SELECT table_name FROM information_schema.statistics WHERE cardinality=0 AND table_schema='%s' GROUP BY table_name; | ||
| + | |||
| + | 2.Z výše získaného seznamu zkontrolujeme tabulky, zda count(*) je větčí jak 0 | ||
| + | SELECT count(*) FROM 'tabulka' | ||
| + | |||
| + | 3. U těch, kde je předchozí hodnota větčí 0, provedeme opravu: | ||
| + | ANALYZE table 'tabulka' | ||
Aktuální verze z 12. 5. 2025, 14:09
Obsah
Základní příkazy pro práci s MariaDB (MySQL)
Připojení na MariaDB v docker
docker exec -ti mariadb mariadb -u root -p
Database
Zobrazení Database
SHOW DATABASES;
Vytvoření Database
CREATE DATABASE new_database; FlUSH PRIVILEGES;
Připojení na Database
USE new_database;
Smazaní Database
DROP DATABASE new_database; FlUSH PRIVILEGES;
Uživatel
Zobrazení uživatelů
SELECT User, Host, authentication_string FROM mysql.user;
Vytvoření uživatele
Adresa určuje odkud se může někdo přihlásit na uživatele, znak % určuje pro všechny
CREATE USER 'user'@'address' IDENTIFIED BY 'password'; FlUSH PRIVILEGES;
Změna hesla
ALTER USER 'user'@'address' IDENTIFIED BY 'MyNewPass'; FLUSH PRIVILEGES;
Změna práv na tabulku/y
Jde použít znak * pro povolení všecho, klidně i všech tabulek
GRANT ALL PRIVILEGES ON new_database.table TO 'user'@'address';
Smazání uživatele
DELETE FROM mysql.user WHERE user='<user>' AND host = 'adrress' FlUSH PRIVILEGES;
Ostatní
Promazání binlogu
x nahradit nenovější verzí
PURGE BINARY LOGS TO 'binlog.xxxxxx'; FlUSH PRIVILEGES;
Pár příkladů
Vytvoření uživatele pro všechny adresy
CREATE USER 'filip'@'%' IDENTIFIED BY 'heslo'; FlUSH PRIVILEGES;
Přidání všech práv uživateli
GRANT ALL PRIVILEGES ON *.* TO 'filip'@'%'; FlUSH PRIVILEGES;
Cardinality
Účelem je kontrola tabulek, aby nebylo potřeba provádět analyza na cele databazi.
1.Prvně zjistíme, které tabulky mají cardinality "0" (%s = nazev_databaze).
SELECT table_name FROM information_schema.statistics WHERE cardinality=0 AND table_schema='%s' GROUP BY table_name;
2.Z výše získaného seznamu zkontrolujeme tabulky, zda count(*) je větčí jak 0
SELECT count(*) FROM 'tabulka'
3. U těch, kde je předchozí hodnota větčí 0, provedeme opravu:
ANALYZE table 'tabulka'