Instalace MariaDB na Debian. Jak nastavit MariaDB SSL a navázat zabezpečená připojení z různých klientů Jak nastavit mariadb ve Windows

| |

Krok 1 - instalace MariaDB

Debian 9 obsahuje balíček MariaDB 10.1 ve standardním úložišti. Toto je jeho výchozí varianta MySQL.

Chcete -li jej nainstalovat, aktualizujte index balíčku:

Nyní nainstalujte balíček:

sudo apt nainstalovat mariadb-server

Příkaz nainstaluje MariaDB, ale nevyzve vás k zadání hesla ani ke změně dalších nastavení. V tuto chvíli má instalace MariaDB několik zranitelností, které je třeba vyřešit.

Krok 2 - konfigurace MariaDB

Po dokončení instalace musíte spustit bezpečnostní skript, který odstraní nespolehlivé parametry a ochrání databázi před neoprávněným přístupem.

sudo mysql_secure_installation

Skript položí řadu otázek. Nejprve musíte zadat heslo root MariaDB. Toto je účet správce MariaDB, který má zvýšená oprávnění. Právě jste nainstalovali MariaDB a dosud jste neprovedli žádné změny konfigurace, toto heslo ještě nemáte, takže stačí stisknout Enter.

V dalším požadavku vás skript požádá o nastavení hesla root pro databázi. Zadejte N a stiskněte Enter. V Debianu je kořenový účet MariaDB úzce svázán s automatizovanou údržbou systému, takže pro tento účet nemůžete změnit výchozí metody ověřování. Jinak při aktualizaci balíčku může dojít k poškození databáze a ke ztrátě přístupu k účtu root. Podíváme se na to, jak nastavit další účet správce později, pokud ověřování soketu není pro vás.

V případě dalších otázek můžete stisknout Y a Enter. Tím odeberete anonymní uživatele a otestujete databáze, zakážete vzdálené přihlášení root a aktualizujete aktuální nastavení MariaDB.

Krok 3 - Konfigurace podpory ověřování heslem

V nových instalacích Debianu root uživatel MariaDB ve výchozím nastavení podporuje ověřování pomocí pluginu unix_socket, nikoli pomocí hesla. To může v mnoha případech zlepšit zabezpečení a použitelnost, ale také může věci zkomplikovat, pokud potřebujete povolit přístup k externímu programu (například phpMyAdmin).

Protože server používá uživatele root pro úlohy, jako je otáčení protokolů, spouštění a zastavování serveru, je nejlepší neměnit ověřování účtu root. Změna přihlašovacích údajů v souboru /etc/mysql/debian.cnf může zpočátku fungovat, ale další aktualizace balíčku tyto změny přepíší. Místo toho vývojáři doporučují vytvořit samostatný účet správce s ověřením heslem.

Vytvořte si tedy účet s názvem admin se stejnými právy jako root, ale s podporou ověřování heslem. Chcete -li to provést, otevřete příkazový řádek MariaDB v terminálu:

Nyní vytvořte nového uživatele s oprávněními root a podporou ověřování heslem. Do příkazu zadejte své uživatelské jméno a heslo.

UDĚLIT VŠE ZAPNUTO *. * TO "admin" @ "localhost" IDENTIFIKOVANÉ "heslem" S MOŽNOSTÍ GRANTU;

Zrušení oprávnění:

FLUSH PRIVILEGES;

Zavřete prostředí MariaDB:

Krok 4 - Testování MariaDB

Při instalaci ze standardního úložiště se MariaDB spustí automaticky. Chcete -li to ověřit, zkontrolujte stav služby:

sudo systemctl status mariadb
mariadb.service - databázový server MariaDB
Načteno: načteno (/lib/systemd/system/mariadb.service; povoleno; předvolba dodavatele: povoleno)
Aktivní: aktivní (běží) od Út 2018-09-04 16:22:47 UTC; Před 2 h 35 min
Proces: 15596 ExecStartPost = / bin / sh -c systemctl unset -environment _WSREP_START_POSIT
Proces: 15594 ExecStartPost = / etc / mysql / debian-start (kód = ukončen, stav = 0 / ÚSPĚCH)
Proces: 15478 ExecStartPre = / bin / sh -c [! -e / usr / bin / galera_recovery] && VAR = ||
Proces: 15474 ExecStartPre = / bin / sh -c systemctl unset -environment _WSREP_START_POSITI
Proces: 15471 ExecStartPre = / usr / bin / install -m 755 -o mysql -g root -d / var / run / mysql
Hlavní PID: 15567 (mysqld)
Stav: „Nyní přijímáme vaše požadavky SQL ...“
Úkoly: 27 (limit: 4915)
CGroup: /system.slice/mariadb.service
└─15567 / usr / sbin / mysqld
4. září 16:22:45 deb-mysql1 systemd: Spouštění databázového serveru MariaDB ...
4. září 16:22:46 deb-mysql1 mysqld: 2018-09-04 16:22:46 140183374869056 / usr / sbin / mysqld (mysqld 10.1.26-MariaDB-0 + deb9u1) začíná jako proces 15567 ...
4. září 16:22:47 deb-mysql1 systemd: Spuštěn databázový server MariaDB.

Pokud se DBMS z nějakého důvodu nespustí, zadejte:

sudo systemctl start mariadb

Pro další ověření se můžete pokusit připojit k databázi pomocí nástroje mysqladmin (jedná se o klienta, který vám umožňuje spouštět administrativní příkazy). Tento příkaz se například připojí k MariaDB jako root a vytiskne verzi pomocí unixového soketu:

sudo mysqladmin verze
mysqladmin Ver 9.1 Distrib 10.1.26-MariaDB, pro debian-linux-gnu na x86_64
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab a další.
Verze serveru 10.1.26-MariaDB-0 + deb9u1
Verze protokolu 10
Připojení Localhost přes UNIXovou zásuvku
UNIX soket /var/run/mysqld/mysqld.sock
Uptime: 2 hodiny 44 min 46 s
Vlákna: 1 Otázky: 36 Pomalé dotazy: 0 Otevírá: 21 Flush tables: 1 Otevřené tabulky: 15 Dotazů za sekundu průměr: 0,003

Pokud jste vytvořili dalšího správce, můžete tuto operaci provést pomocí příkazu:

mysqladmin -u admin -p verze

MariaDB je v provozu podle očekávání.

Dnes se budeme zabývat zvyšováním jedné z nejžádanějších rolí jakéhokoli linuxového serveru, který v tomto funkčním segmentu zaujímá vedoucí roli. Konfigurace webového serveru CentOS 7 na základě balíčku populárního http serveru apache, tlumočník php a databázový server mysql nebo zkrátka nastavovací lampa. Tento balíček je dnes nejoblíbenější konfigurací mezi webhostingem. Stejná společnost sice v poslední době šlape na paty, ale na základě nginxu se už možná dostala před ni, přesná data o tomto skóre nemám.

Tento článek je součástí jediné série článků o serveru.

Webový server na CentOS 7

Náš webový server centos se tedy bude skládat ze tří hlavních komponent - http serveru apache, tlumočník programovacího jazyka php a databázový server mysql... Pojďme se s každým z nich trochu seznámit:

  1. Apache- http server nebo jen webový server Apache. Jedná se o multiplatformní software, který podporuje téměř všechny populární operační systémy, včetně Windows. Ceněný především pro svou spolehlivost a flexibilitu konfigurace, kterou lze výrazně rozšířit díky zásuvným modulům, kterých je mnoho. Mezi nedostatky poznamenávají, že jsou náročnější na zdroje ve srovnání s jinými servery. Apache nebude schopen udržovat stejnou zátěž jako například nginx s podobnými hardwarovými parametry.
  2. PHP Je programovací jazyk pro obecné účely, který se nejčastěji používá při vývoji webových aplikací. Je to zdaleka nejpopulárnější jazyk v této oblasti aplikace. Podporováno téměř všemi poskytovateli hostingu.
  3. MySQL- Systém pro správu databází. Získal svou popularitu v prostředí malých a středních aplikací, kterých je na webu hodně. Stejně jako php je to zdaleka nejpopulárnější databáze používaná na webových stránkách. Podporováno většinou poskytovatelů hostingu. Na CentOS se místo mysql instaluje mariadb Je vidlice mysql. Jsou plně kompatibilní, kdykoli je možné přepínat z jednoho dělení na druhé a naopak. Nedávno jsem narazil na informaci, že mariadb funguje rychleji než mysql a lidé se k němu pomalu přesouvají. V praxi jsem to nemohl pozorovat, protože jsem nikdy nepracoval s načtenými databázemi. A za normálních podmínek není rozdíl znatelný.

Experimentální server bude mít následující vlastnosti:

procesor2 jádra
Paměť8 Gb
Disk150 Gb SSD

Toto je nastavení vlastního parametru. Vzhledem k ceně nejsou optimální, ale byly přesně to, co jsem potřeboval.

Chci hned objasnit, že analyzuji základní výchozí nastavení. Chcete -li zlepšit výkon, zlepšit spolehlivost a použitelnost, musíte nainstalovat několik dalších nástrojů, o kterých budu diskutovat samostatně. Obecně platí, že to, co je v tomto článku, bude stačit k uspořádání webového serveru.

Pokud ještě nemáte server, musíte jej spustit. A pokud je server již nainstalován, nezapomeňte na to. Doporučuji věnovat pozornost nastavení, protože v rámci tohoto článku je spousta užitečných informací, které v tomto článku neposkytuji - aktualizace systému, konfigurace brány firewall, instalace editoru a mnoho dalšího.

Konfigurace apache v CentOS 7

V CentOS se nazývá služba apache httpd... Když jsem se poprvé seznámil s touto distribuční sadou, bylo to pro mě neobvyklé. Ve Freebsd a Debianu, s nimiž jsem dříve pracoval, se služba webového serveru nazývala apache, ačkoli někde jsem si všiml, zdá se, že se v konfiguračním souboru jmenuje httpd.conf. Doposud nevím, proč se obě tato jména rozšířila. Byl bych rád, kdyby se mnou někdo sdílel informace o tom v komentářích.

Nyní se vrhneme na instalace apache... V CentOS 7 se to dělá velmi jednoduše:

# yum install -y httpd

Přidat apache ke spuštění:

# systemctl povolit httpd

Spusťte apache na CentOS 7:

# systemctl start httpd

Zkontrolujte, zda se server spustil:

# netstat -tulnp | grep httpd tcp6 0 0 ::: 80 ::: * POSLECHNĚTE 21586 / httpd

Všechno je v pořádku, zavěšeno na 80. portu, jak by mělo být. Již nyní můžete přejít na adresu http: // ip-address a podívat se na obrázek:

Nyní začněme konfigurovat apache. Upřednostňuji následující strukturu webhostingu:

Vytvoříme podobnou strukturu:

# mkdir/web && mkdir /web/site1.ru && mkdir /web/site1.ru/www && mkdir /web/site1.ru/logs # chown -R apache. / web

IncludeOptional conf.d / *. Conf

Pokud ne, odkomentujte a přejděte do adresáře /etc/httpd/conf.d. Vytvořte tam soubor site1.ru.conf:

Název serveru site1.ru ServerAlias ​​www.site1.ru DocumentRoot /web/site1.ru/www Možnosti FollowSymLinks AllowOverride All Vyžadovat vše uděleno ErrorLog /web/site1.ru/logs/error.log CustomLog /web/site1.ru/logs/access.log společný

Restartování apache na centos

Nyní restartujeme apache:

# systemctl restart httpd

Pokud existují nějaké chyby, podívejte se na protokol apache / var / log / httpd / error_log. Pokud je vše v pořádku, zkontrolujte, zda je náš virtuální hostitel správně nakonfigurován. Chcete -li to provést, vytvořte ve složce /web/site1.ru/www index.html soubor s následujícím obsahem:

# mcedit /web/site1.ru/www/index.html

Apache je vyladěný!

# chown apache. /web/site1.ru/www/index.html

192.168.1.25 site1.ru

kde 192.168.1.25 je adresa IP našeho webového serveru.

Nyní do prohlížeče zadáme adresu http://site1.ru. Pokud vidíme obrázek:

pak je vše správně nakonfigurováno. Pokud jsou nějaké chyby, jdeme se podívat na protokoly. A v tomto případě ne obecný protokol httpd, ale protokol chyb konkrétního virtuálního hostitele na /web/site1.ru/logs/error.log.

Ihned bych vás chtěl upozornit na konfiguraci střídání protokolů virtuálních hostitelů. Často se stává, že pokud to hned nenastavíte, tak zapomenete. Pokud má ale web dobrý provoz, protokoly budou rychle růst a mohou zabírat spoustu místa. Je lepší nakonfigurovat střídání protokolů webového serveru ihned po vytvoření. To není těžké udělat.

Chcete -li konfigurovat střídání protokolů virtuálního hostitele, musíte upravit soubor /etc/logrotate.d/httpd. Je vytvořen během instalace apache a zahrnuje nastavení otáčení výchozího umístění protokolů. A protože jsme přenesli protokoly každého virtuálního hostitele do jednotlivé složky, musíte do tohoto souboru přidat tyto složky:

# mcedit /etc/logrotate.d/httpd /web/*/logs/*.log/ var / log / httpd / * log (missingok notifempty sharedscripts delaycompress postrotate / bin / systemctl reload httpd.service> / dev / null 2> / dev / null || true endscript)

V zásadě je nejjednodušší webový server již připraven a lze jej použít. Nyní však téměř neexistují stránky se statickým obsahem, které potřebují pouze podporu html. Pokračujme tedy v našem nastavení.

Pokud potřebujete organizovat práci webu podle protokolu https, pak použijte manuál pro.

Instalace php na CentOS 7

Abychom podpořili dynamický obsah webu, udělejme další krok. Nainstalujte php na CentOS 7:

# yum install -y php

A pak je tu ještě pár užitečných komponent. Nainstalujte si populární moduly pro php:

# yum install -y php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd

Restartujte apache:

# systemctl restart httpd

Pojďme vytvořit soubor ve virtuálním hostitelském adresáři a otestovat php:

# mcedit /web/site1.ru/www/index.php# chown apache. /web/site1.ru/www/index.php

Přejdeme na adresu http://site1.ru/index.php

Měli byste vidět výstup informací php. Pokud je něco špatně, došlo k některým chybám, viz protokol chyb virtuálního hostitele, budou tam také chyby php.

Kde je php.ini

Po instalaci často vyvstává otázka, kde jsou uložena nastavení php? Tradičně jsou umístěny v jednom souboru nastavení. Na CentOS php.ini je v / atd, přímo u kořene. Zde můžete upravit globální nastavení pro všechny virtuální hostitele. Osobní nastavení pro každý web lze provést samostatně v konfiguračním souboru virtuálního hostitele, který jsme vytvořili dříve. Pojďme tam přidat některá užitečná nastavení:

# mcedit /etc/httpd/conf.d/site1.ru.conf

Přidejte na úplný konec, předtím

Php_admin_value date.timezone "Evropa / Moskva" php_admin_value max_execution_time 60 php_admin_value upload_max_filesize 30M

Chcete -li použít nastavení, musíte restartovat apache. Nyní můžete vidět změnu nastavení ve výstupu phpinfo.

Upgradování na php 5,6 na CentOS 7

V našem příkladu jsme nainstalovali na CentOS 7 php 5.4 ze standardního úložiště. A co když třeba budeme potřebovat novější verzi php 5,6? V takovém případě musíte aktualizovat php.

# wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm # rpm -Uvh remi-release-7 * .rpm

Nyní upgradujte php 5.4 na php 5.6:

# yum --enablerepo = remi, remi-php56 install php php-common php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd

Restartujte apache:

# systemctl restart httpd

A pojďme se podívat na výstup phpinfo - http://site1.ru/index.php

Skvělé, aktualizovali jsme php na verzi 5.6.

Instalace MySQL na CentOS 7

Jak jsem psal dříve, mysql fork se nyní stále více rozšiřuje - mariadb... Má plnou kompatibilitu s mysql, takže jej můžete bezpečně používat. Raději to používám.

Nainstalujte si mariadb na CentOS 7:

# yum install -y mariadb mariadb -server

Přidat mariadb do automatického spuštění:

# systemctl povolit službu mariadb.service

Spustit mariadb:

# systemctl start mariadb

Zkontrolujeme, zda to začalo nebo ne:

# netstat -tulnp | grep mysqld tcp 0 0 0.0.0.0:3306 0.0.0.0:* POSLECHNĚTE 22276 / mysqld

Upozorňuji na skutečnost, že i v systému se zobrazuje jako služba mysqld. Nyní spustíme standardní konfigurační skript zabezpečení:

# / usr / bin / mysql_secure_installation

Nebudu uvádět celý výstup tohoto skriptu, vše je tam celkem jednoduché a přehledné. Nejprve nastavte heslo pro root (aktuální heslo po instalaci je prázdné), poté odstraňte anonymní uživatele, deaktivujte možnost vzdáleného připojení k root, odstraňte testovacího uživatele a databázi.

Soubor nastavení mysql / mariadb leží v /etc/my.cnf... Výchozí nastavení jsou dostačující pro normální provoz. Pokud se ale rozhodnete je změnit, nezapomeňte restartovat databázovou službu.

Restartování mariadb/ mysql na CentOS 7:

# systemctl restartujte mariadb

To je vše. Základní funkce webového serveru v CentOS 7 je nakonfigurována.

Budu rád za připomínky a komentáře k tématu článku. Připomínám, že tento článek je součástí jediné série článků o serveru.

Kali Linux Workshop

Kurz pro ty, kteří se zajímají o provádění penetračních testů a chtějí se prakticky vyzkoušet v situacích blízkých skutečným. Kurz je určen pro ty, kteří ještě nemají zkušenosti s informační bezpečností. Školení trvá 3 měsíce, 4 hodiny týdně. Co vám tento kurz poskytne:
  • Hledejte a využívejte zranitelnosti nebo chyby konfigurace v podnikových sítích, webových stránkách, serverech. Důraz na penetrační testování Windows a firemní zabezpečení.
  • Prozkoumejte nástroje jako metasploit, sqlmap, Wirehark, burp suite a mnoho dalších.
  • Zvládnutí sady nástrojů Kali Linux v praxi - každý specialista na bezpečnost informací by s ní měl být obeznámen.
Vyzkoušejte si vstupní test a podívejte se na podrobnosti programu.

Ahoj!

Plně podporuji vaše rozhodnutí! Migroval jsem své servery na MariaDB z MySQL před 3 lety a ne z dobrého života. Verze MySQL se po zakoupení Oracle zhoršovaly a zhoršovaly. Neustálé pády a chyby v tabulkách špatně ovlivňovaly dostupnost webů, poté bylo rozhodnuto přejít na MariaDB.

Výsledek se plně vyplatil, MariaDB je velmi stabilní a dobře optimalizovaný. Tříletá doba provozu bez přerušení na více serverech to dokonale dokazuje.

Výběr verze MariaDB

  • /var/run/php5-fpm.sock by již měl být na serveru přítomen? v ubuntu 16.04 nenašel takový soubor v / var / run
  • Existují 2 větve MariaDB - 5.x a 10.x.

    5.x jsou verze, které jsou co nejblíže nejnovějším verzím MySQL, jsou plně kompatibilní s MySQL. Pokud se právě přesouváte do MariaDB z MySQL, tato řada verzí je pro vás.

    10.x je nová řada verzí, které začaly po verzi 5.5. Tyto verze zcela nekopírují všechny nové funkce nejnovějších verzí MySQL, ale obsahují své vlastní jedinečné funkce. Jsou stále kompatibilní s MySQL, ale pokud s MariaDB teprve začínáte, je lepší začít s verzí 5.5.

    Instalace MariaDB na server Linux

    Distribuce MariaDB obvykle nejsou v úložištích hlavních distribucí Linuxu (například CentOS 6 a CentOS 7). Ale i kdyby existovaly, je lepší nainstalovat nativní úložiště MariaDB do systému, abyste měli vždy nejnovější verze. Chcete -li nainstalovat úložiště yum, postupujte podle následujících pokynů:

    1. Vytvořte nový soubor úložiště pomocí příkazu:

    vi /etc/yum.repos.d/MariaDB.repo

    Stisknutím klávesy i vstoupíte do režimu úprav editoru vi.

    2. Z tohoto odkazu získejte text souboru pro vaši verzi distribuce Linuxu. Budete muset vybrat název distribuční sady, její verzi a bitovou hloubku:

    Zkopírujte text pro soubor úložiště, vložte jej do souboru a stisknutím ": wq" ukončete editor vi a uložte.

    Nyní můžete nainstalovat server MariaDB a programy prostředí pomocí yum:

    yum nainstalujte MariaDB-server MariaDB-klient

    Pro MySQL lze nainstalovat knihovny pro různé programovací jazyky, jsou plně kompatibilní. Například pro PHP:

    Nyní musíte spustit nainstalovaný server MariaDB a pokračovat v jeho konfiguraci:

    Pokud jste vše udělali správně, zobrazí se vám tato zpráva:

    Konfigurace MariaDB

    Chcete -li začít s MariaDB normálně, musíte nastavit heslo root. Podrobně vám o vyladění a optimalizaci databáze povím ve speciálním článku, to nejsou prioritní věci.

    Počáteční nastavení hesla pro root MySQL:

    Nejjednodušší způsob, jak nastavit heslo uživatele root, je použít speciální skript, který je součástí distribuce MariaDB:

    / usr / bin / mysql_secure_installation

    Postupujte podle pokynů a nastavte heslo uživatele root.

    Pokud máte nějaké dotazy nebo potřebujete vysvětlení, položte otázku nebo zanechte komentář.

    Vždy rád pomůžu!

    2. ledna 2017 12:16 13 224 zhlédnutí | bez komentáře

    Požadavky

    • Server CentOS 7.
    • Uživatel s přístupem sudo.

    Všechny potřebné pokyny najdete v.

    Krok 1 - instalace MariaDB

    Chcete -li nainstalovat MariaDB, použijte úložiště Yum. Spusťte následující příkaz a pokračujte stisknutím y.

    sudo yum nainstalovat mariadb-server

    Po dokončení instalace spusťte démona:

    sudo systemctl start mariadb

    Příkaz systemctl neukazuje výstup některých příkazů. Abyste se ujistili, že démon běží, zadejte:

    sudo systemctl status mariadb

    Pokud byl spuštěn démon MariaDB, výstup příkazu bude obsahovat řádky:

    Aktivní: aktivní (běží)
    […]
    1. prosince 19:06:20 centos-512mb-sfo2-01 systemd: Spuštěn databázový server MariaDB.

    Nyní musíte nakonfigurovat MariaDB na automatické spuštění. Chcete -li to provést, zadejte:

    sudo systemctl povolit mariadb
    Byl vytvořen symbolický odkaz ze služby /etc/systemd/system/multi-user.target.wants/mariadb.service na /usr/lib/systemd/system/mariadb.service.

    Poté musíte zajistit bezpečnost dat.

    Krok 2: Zabezpečení MariaDB

    Po dokončení instalace je třeba spustit vestavěný bezpečnostní skript MariaDB, který změní některé výchozí možnosti a zablokuje vzdálené přihlášení root. Chcete -li skript spustit, zadejte:

    sudo mysql_secure_installation

    Skript poskytuje podrobný popis každého kroku. Nejprve požádá o heslo root. Protože takové heslo v nové instalaci zatím není, stačí stisknout Enter. Skript vás poté vyzve k vytvoření takového hesla. Zadejte složité heslo a potvrďte jej.

    Skript vám poté položí řadu otázek. Chcete -li přijmout výchozí data, jednoduše stiskněte Y a Enter. Skript zablokuje anonymní uživatele a vzdálené přihlášení root, odstraní testovací tabulky a znovu načte oprávnění.

    Krok 3 - Testování MariaDB

    Nyní se musíme ujistit, že instalace MariaDB byla úspěšná.

    Zkuste se připojit k DB pomocí nástroje mysqladmin (toto je klient pro spouštění příkazů pro správu). Chcete-li se připojit k MariaDB jako root (-u root), zadejte heslo (-p) a vyžádejte si verzi programu, zadejte příkaz:

    mysqladmin -u root -p verze

    Příkaz vygeneruje:

    mysqladmin Ver 9.0 Distrib 5.5.50-MariaDB, pro Linux na x86_64
    Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab a další.
    Verze serveru 5.5.50-MariaDB
    Verze protokolu 10
    Připojení Localhost přes UNIXovou zásuvku
    UNIX soket /var/lib/mysql/mysql.sock
    Uptime: 4 min 4 s
    Vlákna: 1 Otázky: 42 Pomalé dotazy: 0 Otevírá: 1 Flush tabulky: 2 Otevřené tabulky: 27 Dotazů za sekundu průměr: 0,172

    To znamená, že instalace MariaDB byla úspěšná.

    Závěr

    Nyní byste měli být schopni provést základní instalaci a konfiguraci MariaDB.

    Od Debianu 9 byl populární systém pro správu databází MySQL nahrazen MariaDB. Tento DBMS je vidličkou MySQL, vytvořenou jeho původními vývojáři, kteří nebyli spokojeni s licenční politikou společnosti Oracle a obávali se, že by se MySQL mohl stát uzavřenějším produktem. MariaDB je plně kompatibilní s MySQL, což znamená, že nahrazení bude co nejtransparentnější a všechny aplikace, které pracovaly s MySQL, budou také fungovat s MariaDB. A zvážíme některé funkce tohoto přechodu.

    Nejprve si řekněme, že všechny příkazy, pokyny, skripty atd. atd. ti, kteří dříve pracovali s MySQL, budou také pracovat s MariaDB, není třeba provádět žádné změny a mnoho uživatelů si jednoduše nemusí všimnout, že pracují s jiným DBMS.

    Existují ale také rozdíly, především se týkají zabezpečení a byly zavedeny týmem Debianu. Jedním z hlavních rozdílů je, že MariaDB je součástí Debianu 9 během instalace nevyžaduje heslo uživatele root... Poté zůstává uživatel v určitém zmatku a co dělat dál? Přidáním paliva do ohně je fakt, že většina pokynů na internetu zvažuje správu MySQL čistě prostřednictvím ovládacího panelu phpMyAdmin a uživatelé, kteří nemají znalosti příkazového řádku, se ocitají ve zvláště bezmocném stavu.

    "Jak nastavit heslo root v MariaDB"v různých obměnách je jedním z populárních vyhledávacích dotazů souvisejících s tímto DBMS. Neukračujme však, ale nejprve pojďme zjistit, co vývojáři Debianu udělali a proč."

    Největší problém zabezpečení MySQL spočívá v tom, že pověření databáze jsou uložena ve formátu prostého textu v konfiguračních souborech webových aplikací. Vezmeme -li v úvahu skutečnost, že mnoho uživatelů se neobtěžuje a dělá ze superuživatele root vlastníka všech databází, problém se stává docela vážným. A pokud uvážíte, že k souborům webových aplikací může mít přístup poměrně široký okruh lidí, včetně nejen zaměstnanců, ale i nezávislých pracovníků, je to velmi špatné.

    Proto je v Debianu pro superuživatele root v MariaDB k dispozici autentizace pomocí UNIX soketu a je implementována takovým způsobem, že pouze superuživatel systému může získat neomezený přístup k MariaDB a pouze v režimu příkazového řádku. Z hlediska zabezpečení je to velmi správné, protože uživatelé třetích stran a webové aplikace nyní nebudou moci získat přístup root, i když se nějak naučili heslo.

    To vše je dobré, ale co by měl dělat běžný uživatel, který si na svůj server nainstaloval MariaDB a chce na něj nahrát výpis databáze webu? Za prvé, získejte uživatele, je lepší, aby nebyl ani jeden. Chcete -li to provést, zvyšte svá práva v systému na rootování pomocí su nebo sudo a spusťte příkaz:

    MySQL -u root

    Pak se ocitnete na příkazovém řádku MariaDB. Chcete -li vytvořit nového uživatele, spusťte příkaz:

    vytvořit uživatele "andrey" @ "localhost" identifikovaný "heslem";

    V našem příkladu jsme vytvořili uživatele andrey s heslem Heslo.

    Nyní mu přiřadíme práva. Předně očividně odebereme práva na databáze jiných lidí:

    udělit použití *. * „andrey“ @ „localhost“;

    A vydáme plná práva k databázím s názvem šablony andrey_basename, tento přístup automaticky udělí práva všem novým databázím, které uživatel vytvoří.

    udělte všechna oprávnění na `andrey \ _%`. * "andrey" @ "localhost";

    Vzorec je zabalen do znaků gravis (`), který se nachází na klíči s ruským písmenem Ё.

    Nezbývá než znovu načíst oprávnění a ukončit konzolu MariaDB

    splachovací oprávnění;
    přestat;

    Poté se můžete vrátit k obvyklým nástrojům pro práci s MySQL / MariaDB, například phpMyAdmin:


    Vezměte prosím na vědomí, že tato metoda, na rozdíl od běžných doporučení „povolit root v MariaDB“, vám umožňuje zachovat zvýšené zabezpečení systému, což je důležité, pokud k němu mají přístup třetí strany. Také nedoporučujeme uchovávat všechny databáze pod jedním uživatelem, ideálně jedním webem (nebo jinou aplikací) - jedním uživatelem, to vám umožní změnit heslo bez ztráty času a úsilí v případě jeho kompromitace nebo jeho potenciálu (např. přitahovala vás práce s nezávislým webem).

    Instalace MariaDB z úložišť vývojářů

    Operační systém Debian má mnoho ctností, přičemž jednou z nejoblíbenějších je stabilita. Nastavte to a zapomeňte - je to jen o něm, ale nevýhodou tohoto přístupu je konzervatismus, mnoho balíčků nemá tak aktuální verze, jak bychom si někdy přáli. MariaDB 10.1 je aktuálně dodáván s Debianem 9, zatímco aktuální verze jsou 10.2 a 10.3.

    Pokud tedy potřebujete nějaké nové funkce MariaDB nebo jen chcete používat nejnovější stabilní verze softwaru, můžete si MariaDB nainstalovat přímo z úložišť vývojáře. Není obtížné to provést, ale před jakoukoli potenciálně nebezpečnou akcí byste měli provést úplnou zálohu svého serveru.

    Chcete -li to provést, spusťte v konzole serveru s právy superuživatele následující příkaz:

    Mysqldump -u root -všechny databáze> ~ / my_backup.sql

    Tento příkaz uloží všechny databáze MariaDB, včetně servisních, do souboru my_backup.sql v adresáři / root a pokud se něco pokazí, můžete vždy obnovit stav serveru v době kopírování.

    Pokyny k instalaci můžete získat na speciální stránce oficiálního webu.

    Je vyroben velmi pohodlně: vyberete si distribuční sadu, její vydání, verzi DBMS a zrcadlo - poté obdržíte hotové pokyny k instalaci. Abychom vám ušetřili čas, představujeme jej zde (budeme instalovat MariaDB 10.3 na Debian 9):

    Apt-get install software-properties-common dirmngr
    apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
    úložiště add-apt "deb http://mirror.mephi.ru/mariadb/repo/10.3/debian stretch main"

    Abyste porozuměli tomu, co děláte, stručně se k těmto příkazům vyjádříme. První z nich přidá do systému potřebné závislosti, druhý nainstaluje klíč, kterým jsou balíčky podepsány, a třetí nakonec přidá do systému samotné úložiště.

    Nyní aktualizujeme seznam balíčků:

    Apt-get update

    a nainstalujte novou verzi MariaDB:

    Apt-get install mariadb-server

    Vezměte prosím na vědomí, že správce balíčků správně odinstaluje předchozí verzi a nainstaluje novou, všechny databáze zůstanou zachovány a budou nadále pracovat s novou verzí MariaDB.

    Druhý bod, při instalaci MariaDB od vývojářů, vás instalační program požádá o nastavení hesla root, protože v této verzi se autentizace pomocí UNIXového soketu nepoužívá.

    Někoho to může potěšit, ale pokud se vám podařilo pochopit a ocenit všechny výhody metody od vývojářů Debainu, vyvstane rozumná otázka: je možné ji vrátit tak, jak byla? Umět. Chcete -li to provést, otevřete konfigurační soubor /etc/mysql/mariadb.conf.d/50-server.cnf a přidejte do sekce čára:

    Plugin-load-add = auth_socket.so

    Restartujeme DBMS:

    Restartujte službu mysqld

    Zkusme se přihlásit z běžného uživatelského účtu:

    Navzdory skutečnosti, že nás systém požádá o heslo a zadáme jej správně, bude nám stále odepřen přístup. Zkusíme to znovu přes phpMyAdmin:

    A tady nebudeme úspěšní. Pokuta! Nyní má s právy superuživatele DBMS přístup pouze superuživatel systému a nemusíme se obávat, že by heslo root MariaDB bylo známé komukoli.



    Související články: