Namestitev MariaDB v Debian. Kako nastaviti MariaDB SSL in vzpostaviti varne povezave različnih odjemalcev Kako nastaviti mariadb v sistemu Windows

| |

1. korak - namestitev MariaDB

Debian 9 vsebuje paket MariaDB 10.1 v standardnem skladišču. To je privzeta različica MySQL.

Če ga želite namestiti, posodobite indeks paketa:

Zdaj namestite paket:

sudo apt namestite strežnik mariadb

Ukaz bo namestil MariaDB, vendar vas ne bo pozval, da izberete geslo ali spremenite druge nastavitve. Trenutno ima namestitev MariaDB več ranljivosti, ki jih je treba odpraviti.

2. korak - konfiguriranje MariaDB

Ko je namestitev končana, morate zagnati varnostni skript, ki bo odstranil nezanesljive parametre in zaščitil bazo podatkov pred nepooblaščenim dostopom.

sudo mysql_secure_installation

Scenarij bo postavil vrsto vprašanj. Najprej morate vnesti korensko geslo MariaDB. To je skrbniški račun MariaDB, ki ima povišane privilegije. Pravkar ste namestili MariaDB in še niste spremenili konfiguracije, tega gesla še nimate, zato pritisnite Enter.

V naslednji zahtevi vas bo skript prosil, da nastavite korensko geslo za bazo podatkov. Vnesite N in pritisnite Enter. V Debianu je korenski račun MariaDB tesno povezan z avtomatiziranim vzdrževanjem sistema, zato ne morete spremeniti privzetih načinov preverjanja pristnosti za ta račun. V nasprotnem primeru se lahko pri posodobitvi paketa poškoduje zbirka podatkov in izgubi dostop do korenskega računa. Kasneje bomo pogledali, kako nastaviti dodaten skrbniški račun, če preverjanje pristnosti vtičnice ni za vas.

Za druga vprašanja lahko pritisnete Y in Enter. S tem boste odstranili anonimne uporabnike in testne zbirke podatkov, onemogočili oddaljeno prijavo v root in posodobili trenutne nastavitve MariaDB.

3. korak - Konfiguriranje podpore za preverjanje pristnosti gesla

Pri novih namestitvah Debian korenski uporabnik MariaDB privzeto podpira preverjanje pristnosti z vtičnikom unix_socket namesto z geslom. To lahko v mnogih primerih izboljša varnost in uporabnost, lahko pa tudi oteži, če morate dovoliti dostop do zunanjega programa (na primer phpMyAdmin).

Ker strežnik uporablja korenskega uporabnika za naloge, kot so vrtenje dnevnikov, zagon in ustavitev strežnika, je najbolje, da ne spreminjate preverjanja pristnosti korenskega računa. Spreminjanje poverilnic v datoteki /etc/mysql/debian.cnf lahko na začetku deluje, vendar bodo nadaljnje posodobitve paketa te spremembe prepisale. Namesto tega razvijalci priporočajo ustvarjanje ločenega skrbniškega računa s preverjanjem pristnosti gesla.

Ustvarite torej račun z imenom admin z enakimi pravicami kot root, vendar s podporo za preverjanje pristnosti gesla. Če želite to narediti, odprite ukazno vrstico MariaDB v terminalu:

Zdaj ustvarite novega uporabnika s korenskimi pravicami in podporo za preverjanje pristnosti gesla. V ukaz vnesite svoje uporabniško ime in geslo.

GRANT ALL ON *. * TO "admin" @ "localhost" IDENTIFICIRANO z "geslom" Z GRANT OPTION;

Prepustite privilegije:

FLUSH PRIVILEGIJE;

Zaprite lupino MariaDB:

4. korak - Preizkus MariaDB

Ko je nameščen iz standardnega skladišča, se MariaDB samodejno zažene. Če želite to preveriti, preverite stanje storitve:

sudo systemctl status mariadb
mariadb.service - strežnik baz podatkov MariaDB
Naloženo: naloženo (/lib/systemd/system/mariadb.service; omogočeno; prednastavitev prodajalca: omogočena)
Aktivno: aktivno (deluje) od torka 2018-09-04 16:22:47 UTC; Pred 2h 35min
Postopek: 15596 ExecStartPost = / bin / sh -c systemctl unset -environment _WSREP_START_POSIT
Proces: 15594 ExecStartPost = / etc / mysql / debian-start (koda = izhod, status = 0 / SUCCESS)
Postopek: 15478 ExecStartPre = / bin / sh -c [! -e / usr / bin / galera_recovery] && VAR = ||
Postopek: 15474 ExecStartPre = / bin / sh -c systemctl unset -environment _WSREP_START_POSITI
Postopek: 15471 ExecStartPre = / usr / bin / install -m 755 -o mysql -g root -d / var / run / mysql
Glavni PID: 15567 (mysqld)
Stanje: "Zdaj sprejemam vaše zahteve SQL ..."
Naloge: 27 (omejitev: 4915)
CGroup: /system.slice/mariadb.service
└─15567 / usr / sbin / mysqld
4. september 16:22:45 deb-mysql1 systemd: Zagon strežnika baz podatkov MariaDB ...
4. september 16:22:46 deb-mysql1 mysqld: 2018-09-04 16:22:46 140183374869056 / usr / sbin / mysqld (mysqld 10.1.26-MariaDB-0 + deb9u1) začenši kot proces 15567 ...
4. september 16:22:47 deb-mysql1 systemd: Zagnan strežnik baz podatkov MariaDB.

Če se DBMS iz nekega razloga ne zažene, vnesite:

sudo systemctl start mariadb

Za dodatno preverjanje se lahko poskusite povezati z bazo podatkov z orodjem mysqladmin (to je odjemalec, ki vam omogoča izvajanje skrbniških ukazov). Na primer, ta ukaz se bo povezal z MariaDB kot root in natisnil različico z vtičnico Unix:

različica sudo mysqladmin
mysqladmin Ver 9.1 Distrib 10.1.26-MariaDB, za debian-linux-gnu na x86_64
Avtorske pravice (c) 2000, 2017, Oracle, MariaDB Corporation Ab in drugi.
Različica strežnika 10.1.26-MariaDB-0 + deb9u1
Protokol različica 10
Povežite Localhost prek vtičnice UNIX
Vtičnica UNIX /var/run/mysqld/mysqld.sock
Čas delovanja: 2 uri 44 min 46 sek
Teme: 1 Vprašanja: 36 Počasne poizvedbe: 0 Odpiranje: 21 Vmesne tabele: 1 Odprte tabele: 15 Poizvedb na sekundo povprečno: 0,003

Če ste ustvarili dodatnega skrbnika, lahko to operacijo izvedete z ukazom:

mysqladmin -u admin -p različica

MariaDB deluje po pričakovanjih.

Danes se bomo ukvarjali z dvigom ene najbolj zahtevnih vlog katerega koli strežnika Linux, ki ima v tem funkcionalnem segmentu vodilno vlogo. Konfiguriranje spletnega strežnika CentOS 7 na podlagi svežnja priljubljenega strežnika http apache, tolmač php in strežnik baz podatkov mysql ali skratka nastavitvena svetilka. Ta sveženj je danes najbolj priljubljena konfiguracija med spletnim gostovanjem. Čeprav je isto podjetje v zadnjem času stopilo za peto, pa je na podlagi nginxa morda že prehitelo, natančnih podatkov o tej oceni nimam.

Ta članek je del ene same serije člankov o strežniku.

Spletni strežnik na CentOS 7

Torej bo naš spletni strežnik centos sestavljen iz treh glavnih komponent - strežnika http apache, tolmač programskega jezika php in strežnik baz podatkov mysql... Spoznajmo vsakega od njih malo:

  1. Apache- strežnik http ali samo spletni strežnik apache. Gre za programsko opremo za več platform, ki podpira skoraj vse priljubljene operacijske sisteme, tudi Windows. Cenjen predvsem zaradi zanesljivosti in prilagodljivosti konfiguracije, ki jo je mogoče znatno razširiti zaradi vtičnikov, ki jih je veliko. Med pomanjkljivostmi ugotavljajo, da so glede virov v primerjavi z drugimi strežniki zahtevnejši. Apache ne bo mogel vzdrževati enake obremenitve kot na primer nginx s podobnimi parametri strojne opreme.
  2. PHP Je splošni programski jezik, ki se najpogosteje uporablja pri spletnem razvoju. Je daleč najbolj priljubljen jezik na tem področju uporabe. Podpirajo ga skoraj vsi ponudniki gostovanja.
  3. Mysql- sistem za upravljanje baz podatkov. Priljubljenost je pridobil v majhnem in srednje velikem aplikacijskem okolju, ki jih je na spletu veliko. Tako je, tako kot php, daleč najbolj priljubljena zbirka podatkov, ki se uporablja na spletnih mestih. Podpira jih večina ponudnikov gostovanja. Namesto mysql se namesti na CentOS mariadb Je vilica mysqla. So popolnoma združljivi, možno je kadar koli preklopiti iz enega pododdelka v drugega in obratno. V zadnjem času sem prišel do informacij, da mariadb deluje hitreje kot mysql in ljudje se počasi premikajo k njemu. V praksi tega nisem mogel opaziti, saj nikoli nisem delal z naloženimi bazami podatkov. In v normalnih pogojih razlika ni opazna.

Poskusni strežnik bo, lastnosti so naslednje:

CPU2 jedra
Spomin8 Gb
Disk150 Gb SSD

To je nastavitev parametrov po meri. Niso optimalni glede na ceno, vendar so bili točno to, kar sem potreboval.

Takoj želim pojasniti, da analiziram osnovno privzeto nastavitev. Če želite izboljšati zmogljivost, izboljšati zanesljivost in uporabnost, morate namestiti še nekaj orodij, o katerih bom govoril ločeno. Na splošno bo to, kar je v tem članku, dovolj za organizacijo spletnega strežnika.

Če strežnika še nimate, ga morate izvesti. In če je strežnik že nameščen, ga ne pozabite. Priporočam, da bodite pozorni na nastavitve, saj je v okviru tega članka veliko koristnih informacij, ki jih ne podajam - posodobitev sistema, konfiguracija požarnega zidu, namestitev urejevalnika in še veliko več.

Konfiguriranje apacheja na CentOS 7

V CentOS -u se kliče storitev apache httpd... Ko sem se prvič seznanil s tem razdelilnim kompletom, je bilo zame nenavadno. V Freebsdu in Debianu, s katerima sem delal prej, se je storitev spletnega strežnika imenovala apache, čeprav sem nekje opazil, zdi se mi, da je konfiguracijska datoteka httpd.conf. Do sedaj ne vem, zakaj sta se obe imeni razširili. Vesel bi bil, če bi kdo v komentarjih z mano delil informacije o tem.

Zdaj pa pojdimo k temu namestitev apacheja... V CentOS 7 je to zelo preprosto:

# yum install -y httpd

Dodajte apache ob zagonu:

# systemctl omogoči httpd

Zaženite apache na CentOS 7:

# systemctl zaženite httpd

Preverite, ali se je strežnik zagnal:

# netstat -tulnp | grep httpd tcp6 0 0 ::: 80 ::: * POSLUŠAJ 21586 / httpd

Vse je v redu, obešeno na 80. pristanišču, kot mora biti. Zdaj lahko greste na http: // ip-naslov in si ogledate sliko:

Zdaj pa začnimo konfigurirati apache. Najraje imam naslednjo strukturo spletnega gostovanja:

Ustvarimo podobno strukturo:

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

VključiNeobvezno konf.d / *

Če ne, odkomentirajte in pojdite v imenik /etc/httpd/conf.d. Tam ustvarite datoteko site1.ru.conf:

ServerName site1.ru ServerAlias ​​www.site1.ru DocumentRoot /web/site1.ru/www Možnosti FollowSymLinks AllowOverride All Zahtevaj vse odobreno ErrorLog /web/site1.ru/logs/error.log CustomLog /web/site1.ru/logs/access.log pogost

Znova zaženite apache na centos

Zdaj znova zaženimo apache:

# systemctl znova zaženite httpd

Če so napake, si oglejte dnevnik apache / var / log / httpd / error_log. Če je vse v redu, preverite, ali je naš virtualni gostitelj pravilno konfiguriran. Če želite to narediti, ustvarite v mapi /web/site1.ru/www index.html datoteka z naslednjo vsebino:

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

Apache je nastavljen!

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

192.168.1.25 site1.ru

kjer je 192.168.1.25 IP naslov našega spletnega strežnika.

Zdaj v brskalnik vnesemo naslov http://site1.ru. Če vidimo sliko:

potem je vse pravilno nastavljeno. Če pride do napak, gremo pogledat dnevnike. V tem primeru ne splošni dnevnik httpd, ampak dnevnik napak določenega virtualnega gostitelja na /web/site1.ru/logs/error.log.

Takoj vas želim opozoriti na konfiguriranje vrtenja dnevnikov navideznega gostitelja. Pogosto se zgodi, da če tega ne nastavite takoj, pozabite. Če pa ima spletno mesto dober promet, bodo dnevniki hitro rasli in lahko zavzamejo veliko prostora. Rotacijo dnevnikov spletnega strežnika je bolje konfigurirati takoj po ustvarjanju. To ni težko narediti.

Če želite konfigurirati vrtenje dnevnikov navideznega gostitelja, morate urediti datoteko /etc/logrotate.d/httpd. Ustvarjen je med namestitvijo apache in vključuje nastavitev vrtenja privzete lokacije dnevnikov. Ker smo dnevnike vsakega navideznega gostitelja prenesli v posamezno mapo, morate tej datoteki dodati te mape:

# mcedit /etc/logrotate.d/httpd /web/*/logs/*.log/ var / log / httpd / * log (manjkajoče notifympty sharedscripts delaycompress postrotate / bin / systemctl reload httpd.service> / dev / null 2> / dev / null || pravi zaključek)

V bistvu je najpreprostejši spletni strežnik že pripravljen in ga je mogoče uporabljati. Zdaj pa skoraj ni spletnih mest s statično vsebino, ki potrebujejo le podporo html. Zato nadaljujmo z namestitvijo.

Če morate delo spletnega mesta organizirati v skladu s protokolom https, nato uporabite priročnik za.

Namestitev php na CentOS 7

Za podporo dinamične vsebine spletnega mesta naredimo naslednji korak. Namesti php na CentOS 7:

# yum install -y php

In potem je še nekaj uporabnih sestavin. Namestite priljubljeno moduli za php:

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

Znova zaženite apache:

# systemctl znova zaženite httpd

Ustvarimo datoteko v imeniku navideznega gostitelja in preizkusimo php:

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

Gremo na naslov http://site1.ru/index.php

Videti bi morali izhod informacij php. Če je kaj narobe, je prišlo do nekaj napak, poglejte dnevnik napak navideznega gostitelja, napake php bodo tudi tam.

Kje je php.ini

Po namestitvi se pogosto pojavi vprašanje, kje so shranjene nastavitve php? Tradicionalno se nahajajo v eni datoteki z nastavitvami. Na CentOS -u php.ini je v / etc, čisto v korenu. Tam lahko uredite globalne nastavitve za vse navidezne gostitelje. Osebne nastavitve za vsako spletno mesto je mogoče narediti ločeno v konfiguracijski datoteki navideznega gostitelja, ki smo jo naredili prej. Dodamo nekaj uporabnih nastavitev:

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

Dodajte do konca, prej

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

Če želite uporabiti nastavitve, morate znova zagnati apache. Zdaj lahko vidite spremembe nastavitev v izhodu phpinfo.

Nadgradnja na php 5.6 na CentOS 7

V našem primeru smo namestili na CentOS 7 php 5.4 iz standardnega skladišča. Kaj pa, če na primer potrebujemo novejšo različico php 5.6? V tem primeru morate posodobiti php.

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

Zdaj nadgradite php 5.4 na php 5.6:

# yum --enablerepo = remi, remi-php56 namestite php php-skupni php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd

Znova zaženite apache:

# systemctl znova zaženite httpd

Poglejmo si rezultate phpinfo - http://site1.ru/index.php

Odlično, php smo posodobili na različico 5.6.

Namestitev MySQL na CentOS 7

Kot sem že napisal, vilice mysql postajajo vse bolj razširjene - mariadb... Ima popolno združljivost z mysql, zato ga lahko varno uporabljate. Raje ga uporabljam.

Namestite mariadb na CentOS 7:

# yum install -y mariadb mariadb -server

Dodaj mariadb v samodejni zagon:

# systemctl omogoči mariadb.service

Zaženi mariadb:

# systemctl začni mariadb

Preverimo, ali se je začelo ali ne:

# netstat -tulnp | grep mysqld tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 22276 / mysqld

Opozarjam vas na dejstvo, da je celo v sistemu prikazano kot storitev mysqld. Zdaj zaženemo standardni varnostni konfiguracijski skript:

# / usr / bin / mysql_secure_installation

Ne bom navedel celotnega izida tega skripta, tam je vse precej preprosto in jasno. Najprej nastavimo geslo za root (trenutno geslo po namestitvi je prazno), nato izbrišemo anonimne uporabnike, onemogočimo možnost daljinske povezave s root, izbrišemo testnega uporabnika in bazo podatkov.

mapa nastavitve mysql / mariadb leži v /etc/my.cnf... Privzete nastavitve zadoščajo za normalno delovanje. Če pa se odločite, da jih spremenite, ne pozabite znova zagnati storitve zbirke podatkov.

Znova zaženite mariadb/ mysql na CentOS 7:

# systemctl znova zaženite mariadb

To je vse. Osnovna funkcionalnost spletnega strežnika na CentOS 7 je konfigurirana.

Z veseljem bom prejel pripombe in komentarje na temo članka. Naj vas spomnim, da je ta članek del ene same serije člankov o strežniku.

Delavnica Kali Linux

Tečaj za tiste, ki jih zanima izvedba penetracijskih testov in se želijo praktično preizkusiti v situacijah, ki so blizu resničnim. Tečaj je namenjen tistim, ki še nimajo izkušenj na področju varovanja informacij. Usposabljanje traja 3 mesece, 4 ure na teden. Kaj vam bo dal ta tečaj:
  • Iščite in izkoriščajte ranljivosti ali konfiguracijske pomanjkljivosti v podjetniških omrežjih, spletnih mestih, strežnikih. Poudarek na testiranju prodiranja v sistem Windows in varnosti podjetij.
  • Raziščite orodja, kot so metasploit, sqlmap, wireshark, burp suite in še veliko več.
  • Obvladovanje zbirke orodij Kali Linux v praksi - z njimi mora biti seznanjen vsak specialist za varnost informacij.
Preizkusite se na vstopnem testu in si oglejte podrobnosti programa.

Zdravo!

V celoti podpiram vašo odločitev! Strežnike sem preselil v MariaDB iz MySQL pred 3 leti in ne iz dobrega življenja. Različice MySQL so se po nakupu Oracle poslabšale in poslabšale. Stalne zrušitve in napake v tabelah so močno vplivale na razpoložljivost spletnih mest, zato je bilo odločeno, da preidejo na MariaDB.

Rezultat se je v celoti izplačal, MariaDB je zelo stabilen in dobro optimiziran. Triletno delovanje brez prekinitev na več strežnikih to odlično dokazuje.

Izbira različice MariaDB

  • /var/run/php5-fpm.sock naj bi bil že prisoten na strežniku? v ubuntu 16.04 ni našel take datoteke v / var / run
  • Obstajata 2 veji MariaDB - 5.x in 10.x.

    5.x so različice, ki so čim bližje najnovejšim različicam MySQL, popolnoma so združljive z MySQL. Če se samo premikate v MariaDB iz MySQL, je ta vrstica različic za vas.

    10.x je nova vrstica različic, ki se je začela po različici 5.5. Te različice ne kopirajo v celoti vseh novih funkcij najnovejših različic MySQL, ampak vsebujejo svoje edinstvene funkcije. Še vedno so združljivi z MySQL, če pa šele začenjate uporabljati MariaDB, je bolje, da začnete z različico 5.5.

    Namestitev MariaDB na strežnik Linux

    Distribucije MariaDB običajno niso v skladiščih večjih distribucij Linuxa (na primer CentOS 6 in CentOS 7). Toda tudi če obstajajo, je bolje, da v sistem namestite izvorno skladišče MariaDB, da boste vedno imeli najnovejše različice. Za namestitev shrambe yum sledite navodilom:

    1. Ustvarite novo datoteko skladišča z ukazom:

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

    Pritisnite tipko i, da vstopite v način urejanja urejevalnika vi.

    2. Besedilo datoteke za vašo različico distribucije Linuxa dobite s te povezave. Izbrati morate ime distribucijskega kompleta, njegovo različico in bitno globino:

    Kopirajte besedilo za datoteko skladišča, ga prilepite v datoteko in pritisnite ": wq", da zapustite urejevalnik vi in ​​shranite.

    Zdaj lahko namestite strežnik MariaDB Server in programe okolja z uporabo yum:

    yum namestite MariaDB-strežnik MariaDB-odjemalca

    Za MySQL je mogoče namestiti knjižnice za različne programske jezike, ki so popolnoma združljive. Na primer za PHP:

    Zdaj morate zagnati nameščen strežnik MariaDB in ga nadaljevati s konfiguracijo:

    Če ste vse naredili pravilno, boste videli takšno sporočilo:

    Konfiguriranje MariaDB

    Če želite normalno začeti z MariaDB, morate nastaviti korensko geslo. O uglaševanju in optimizaciji baze podatkov vam bom podrobno povedal v posebnem članku, to niso prioritetne stvari.

    Začetna nastavitev korenskega gesla MySQL:

    Ročno geslo najlažje nastavite tako, da uporabite poseben skript, ki je priložen distribuciji MariaDB:

    / usr / bin / mysql_secure_installation

    Sledite navodilom in nastavite korensko geslo.

    Če imate kakršna koli vprašanja ali potrebujete pojasnilo, postavite vprašanje ali pustite komentar.

    Vedno z veseljem pomagam!

    2. januar 2017 ob 12:16 13.224 ogledov | brez komentarja

    Zahteve

    • Strežnik CentOS 7.
    • Uporabnik z dostopom do sudo.

    Vsa potrebna navodila najdete v.

    1. korak - namestitev MariaDB

    Za namestitev MariaDB uporabite skladišče Yum. Zaženite naslednji ukaz in pritisnite y za nadaljevanje.

    sudo yum namestite strežnik mariadb

    Ko je namestitev končana, zaženite demon:

    sudo systemctl start mariadb

    Ukaz systemctl ne prikazuje izhodov nekaterih ukazov. Če se želite prepričati, da se demon izvaja, vnesite:

    sudo systemctl status mariadb

    Če je bil zagnan demon MariaDB, bo izhodni ukaz vseboval vrstice:

    Aktivno: aktivno (v teku)
    […]
    1. december 19:06:20 centos-512mb-sfo2-01 systemd: Začel strežnik baz podatkov MariaDB.

    Zdaj morate MariaDB konfigurirati za samodejni zagon. Če želite to narediti, vnesite:

    sudo systemctl omogoči mariadb
    Ustvarjena je simbolna povezava iz /etc/systemd/system/multi-user.target.wants/mariadb.service v /usr/lib/systemd/system/mariadb.service.

    Po tem morate zagotoviti varnost podatkov.

    2: zavarovanje MariaDB

    Ko je namestitev končana, morate zagnati vgrajen varnostni skript MariaDB, ki spremeni nekatere privzete možnosti in blokira oddaljeno korensko prijavo. Če želite zagnati skript, vnesite:

    sudo mysql_secure_installation

    Skript vsebuje podroben opis vsakega koraka. Najprej bo zahteval korensko geslo. Ker v novi namestitvi takšnega gesla še ni, pritisnite Enter. Skript vas nato pozove, da ustvarite takšno geslo. Vnesite zapleteno geslo in ga potrdite.

    Scenarij vam nato postavi vrsto vprašanj. Če želite sprejeti privzete podatke, preprosto pritisnite Y in Enter. Skript bo blokiral anonimne uporabnike in oddaljeno korensko prijavo, izbrisal preskusne tabele in znova naložil pravice.

    3. korak - Preizkus MariaDB

    Zdaj se morate prepričati, da je bila namestitev MariaDB uspešna.

    Poskusite se povezati z bazo podatkov z orodjem mysqladmin (to je odjemalec za izvajanje skrbniških ukazov). Če se želite povezati z MariaDB kot root (-u root), vnesite geslo (-p) in zahtevajte različico programa, vnesite ukaz:

    različica mysqladmin -u root -p

    Ukaz bo prikazal:

    mysqladmin Ver 9.0 Distrib 5.5.50-MariaDB, za Linux na x86_64
    Avtorske pravice (c) 2000, 2016, Oracle, MariaDB Corporation Ab in drugi.
    Različica strežnika 5.5.50-MariaDB
    Protokol različica 10
    Povežite Localhost prek vtičnice UNIX
    Vtičnica UNIX /var/lib/mysql/mysql.sock
    Čas delovanja: 4 min 4 sek
    Teme: 1 Vprašanja: 42 Počasne poizvedbe: 0 Odpiranje: 1 Vmesne tabele: 2 Odprte tabele: 27 Poizvedb na sekundo povprečno: 0,172

    To pomeni, da je bila namestitev MariaDB uspešna.

    Zaključek

    Zdaj bi morali izvesti osnovno namestitev in konfiguracijo MariaDB.

    Od Debiana 9 je priljubljeni sistem za upravljanje baz podatkov MySQL nadomestil MariaDB. Ta DBMS je vilica MySQL, ki so jo ustvarili njeni prvotni razvijalci, ki niso bili zadovoljni z Oraclovo politiko licenciranja in so se bali, da bi MySQL lahko postal bolj zaprt izdelek. MariaDB je popolnoma združljiv z MySQL, kar pomeni, da bo zamenjava čim bolj pregledna in vse aplikacije, ki so delovale z MySQL, bodo delovale tudi z MariaDB. Upoštevali bomo nekatere značilnosti tega prehoda.

    Najprej recimo, da so vsi ukazi, navodila, skripte itd. itd. tisti, ki so prej delali z MySQL, bodo delali tudi z MariaDB, ni treba spreminjati in mnogi uporabniki preprosto ne bodo opazili, da delajo z drugačno DBMS.

    So pa tudi razlike, najprej so povezane z varnostjo in jih je predstavila ekipa Debiana. Ena od glavnih razlik je, da je MariaDB vključen v Debian 9 med namestitvijo ne zahteva gesla za root... Po tem je uporabnik v zmedi in kaj storiti naprej? Gorivo na ogenj je dejstvo, da večina navodil na internetu obravnava upravljanje MySQL zgolj prek nadzorne plošče phpMyAdmin, uporabniki, ki nimajo veščin ukazne vrstice, pa se znajdejo v posebej nemočnem stanju.

    "Kako nastaviti geslo root v MariaDB"v različnih različicah je ena izmed priljubljenih iskalnih poizvedb, povezanih s tem DBMS. Toda ne odsekajmo rame, ampak najprej ugotovimo, kaj so razvijalci Debiana naredili in zakaj.

    Največja varnostna težava MySQL je, da so poverilnice zbirke podatkov shranjene v čistem besedilu v konfiguracijskih datotekah spletnih aplikacij. Glede na to, da se mnogi uporabniki ne trudijo in naredijo root uporabnika za lastnika vseh baz podatkov, postane problem precej resen. In če menite, da ima lahko do datotek spletnih aplikacij dostop dokaj širok krog ljudi, vključno z ne samo zaposlenimi, ampak tudi samostojnimi delavci, postane zelo slabo.

    Zato je v Debianu za korenskega superkorisnika v MariaDB zagotovljeno preverjanje pristnosti prek vtičnice UNIX in je izvedeno tako, da lahko samo sistemski superuporabnik pridobi neomejen dostop do MariaDB in samo v načinu ukazne vrstice. Z varnostnega vidika je to zelo pravilno, saj zdaj tretji uporabniki in spletne aplikacije ne bodo mogli pridobiti korenskega dostopa, tudi če so se nekako naučili gesla.

    Vse to je dobro, toda kaj naj naredi navaden uporabnik, ki je namestil MariaDB na svoj strežnik in želi vanj naložiti izpis podatkovne zbirke spletnega mesta? Najprej pridobite uporabnika, bolje je niti enega. Če želite to narediti, dvignite naše pravice v sistemu za root preko su ali sudo in zaženite ukaz:

    Mysql -u koren

    Potem se boste znašli v ukazni vrstici MariaDB. Če želite ustvariti novega uporabnika, zaženite ukaz:

    ustvarite uporabnika "andrey" @ "localhost", identificiranega z "geslo";

    V našem primeru smo ustvarili uporabnika andrey z geslom geslo.

    Zdaj mu bomo dodelili pravice. Najprej bomo očitno odvzeli pravice do podatkovnih zbirk drugih ljudi:

    dodeli uporabo *. * "andrey" @ "localhost";

    In izdali bomo polne pravice za baze podatkov z imenom predloge andrey_basename, ta pristop bo samodejno podelil pravice za vse nove baze podatkov, ki jih bo ustvaril uporabnik.

    podeli vse privilegije za `andrey \ _%`. * "andrey" @ "localhost";

    Upoštevajte, da je vzorec zavit v znake gravis (`), ki se nahaja na ključu z rusko črko Ё.

    Ostaja le, da znova naložite privilegije in zapustite konzolo MariaDB

    privilegije splakovanja;
    prenehati;

    Nato se lahko vrnete k običajnim orodjem za delo z MySQL / MariaDB, na primer phpMyAdmin:


    Upoštevajte, da vam ta metoda v nasprotju s splošnimi priporočili »omogoči root v MariaDB« omogoča ohranjanje povečane sistemske varnosti, kar je pomembno, če do nje dostopajo tretje osebe. Prav tako ne priporočamo, da vse baze podatkov hranite pri enem uporabniku, v idealnem primeru na enem mestu (ali drugi aplikaciji) - enem uporabniku, kar vam bo omogočilo, da v primeru njegovega ogrožanja ali potenciala spremenite geslo brez izgube časa in truda (npr. ste pritegnili k sodelovanju s spletnim mestom freelancer).

    Namestitev MariaDB iz skladišč za razvijalce

    Operacijski sistem Debian ima številne vrline, ena izmed njih je najbolj priljubljena stabilnost. Nastavite in pozabite - to je samo on, toda slaba stran tega pristopa je konzervativnost, mnogi paketi nimajo tako novejših različic, kot bi si včasih želeli. MariaDB 10.1 je trenutno dobavljen z Debian 9, trenutne različice pa sta 10.2 in 10.3.

    Če torej potrebujete nekaj novih funkcij MariaDB ali želite uporabiti samo najnovejše stabilne različice programske opreme, lahko MariaDB namestite neposredno iz skladišč za razvijalce. To ni težko storiti, vendar morate pred kakršnim koli potencialno nevarnim dejanjem narediti popolno varnostno kopijo strežnika.

    Če želite to narediti, v strežniški konzoli s pravicami superpotrošnika zaženite naslednji ukaz:

    Mysqldump -u root -vse baze podatkov> ~ / my_backup.sql

    Ta ukaz bo vse datoteke MariaDB, vključno s servisnimi, shranil v datoteko my_backup.sql v imeniku / root in če gre kaj narobe, lahko vedno obnovite stanje strežnika v času kopije.

    Navodila za namestitev lahko dobite na posebni strani uradne spletne strani.

    Narejen je zelo priročno: izberete svoj distribucijski komplet, njegovo izdajo, različico DBMS in ogledalo - po tem boste prejeli že pripravljena navodila za namestitev. Da vam prihranimo čas, ga predstavljamo tukaj (MariaDB 10.3 bomo namestili v Debian 9):

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

    Da boste razumeli, kaj počnete, bomo te ukaze na kratko komentirali. Prvi od njih sistemu doda potrebne odvisnosti, drugi namesti ključ, s katerim so paketi podpisani, tretji pa na koncu doda še samo skladišče v sistem.

    Zdaj posodobimo seznam paketov:

    Apt-get posodobitev

    in namestite novo različico MariaDB:

    Apt-get install mariadb-server

    Upoštevajte, da bo upravitelj paketov pravilno odstranil prejšnjo različico in namestil novo, vse baze podatkov pa bodo ohranjene in bodo še naprej delovale z novo različico MariaDB.

    Druga točka: pri namestitvi MariaDB od razvijalcev vas bo namestitveni program prosil, da nastavite korensko geslo, saj se v tej različici preverjanje pristnosti prek vtičnice UNIX ne uporablja.

    Morda bo kdo s tem zadovoljen, če pa ste uspeli razumeti in ceniti vse prednosti metode razvijalcev Debain, se bo pojavilo razumno vprašanje: ali jo je mogoče vrniti takšno, kot je bila? Lahko. Če želite to narediti, odprite konfiguracijsko datoteko /etc/mysql/mariadb.conf.d/50-server.cnf in dodajte v razdelek vrstica:

    Plugin-load-add = auth_socket.so

    Znova zaženimo DBMS:

    Ponovni zagon storitve mysqld

    Poskusimo se prijaviti iz običajnega uporabniškega računa:

    Kljub temu, da nas bo sistem vprašal za geslo in ga bomo pravilno vnesli, nam bo dostop še vedno onemogočen. Poskusimo znova prek phpMyAdmin:

    In tu ne bomo uspešni. V redu! Zdaj ima samo sistemski superuporabnik dostop s pravicami super -uporabnika DBMS in ni nam treba skrbeti, da bo koreninsko geslo MariaDB postalo znano vsem.



    Povezani članki: