Kif Tinstalla, Sikura u Irfinar tal-Prestazzjoni ta' MariaDB Database Server
Server tad-database huwa komponent kritiku tal-infrastruttura tan-netwerk meħtieġa għall-applikazzjonijiet tal-lum. Mingħajr il-kapaċità li taħżen, tirkupra, taġġorna u tħassar id-dejta (meta meħtieġa), l-utilità u l-ambitu tal-applikazzjonijiet tal-web u tad-desktop isiru limitati ħafna.
Barra minn hekk, li tkun taf kif tinstalla, timmaniġġja u tikkonfigura server tad-database (sabiex topera kif mistenni) hija ħila essenzjali li kull amministratur tas-sistema jrid ikollu.
F'dan l-artikolu ser nirrevedu fil-qosor kif ninstallaw u niżguraw server tad-database MariaDB u mbagħad nispjegaw kif tikkonfigurah.
Installazzjoni u Żgurar ta' Server MariaDB
F'CentOS 7.x, MariaDB issostitwixxa MySQL, li għadu jista 'jinstab fl-Ubuntu (flimkien ma' MariaDB). L-istess jgħodd għal openSUSE.
Għall-qosor, aħna se nużaw biss MariaDB f'dan it-tutorja, iżda jekk jogħġbok innota li minbarra li għandna ismijiet u filosofiji ta 'żvilupp differenti, iż-żewġ Sistemi ta' Ġestjoni tad-DataBase Relazzjonali (RDBMSs fil-qosor) huma kważi identiċi.
Dan ifisser li l-kmandi min-naħa tal-klijent huma l-istess kemm fuq MySQL kif ukoll fuq MariaDB, u l-fajls tal-konfigurazzjoni huma msemmija u jinsabu fl-istess postijiet.
Biex tinstalla MariaDB, agħmel:
--------------- On CentOS/RHEL 7 and Fedora 23 --------------- # yum update && yum install mariadb mariadb-server # CentOS --------------- On Debian and Ubuntu --------------- $ sudo aptitude update && sudo aptitude install mariadb-client mariadb-server --------------- On openSUSE --------------- # zypper update && zypper install mariadb mariadb-tools # openSUSE
Innota li, f'Ubuntu, inti tintalab iddaħħal password għall-utent għerq RDBMS.
Ladarba l-pakketti ta 'hawn fuq ikunu ġew installati, kun żgur li s-servizz tad-database qed jaħdem u jkun ġie attivat biex jibda mill-boot (f'CentOS u openSUSE ser ikollok bżonn twettaq din l-operazzjoni manwalment, filwaqt li f'Ubuntu l-proċess ta' installazzjoni jkun diġà ħa ħsiebha). għalik):
--------------- On CentOS/RHEL 7 and Fedora 23 --------------- # systemctl start mariadb && systemctl enable mariadb --------------- On openSUSE --------------- # systemctl start mysql && systemctl enable mysql
Imbagħad mexxi l-iskrittura mysql_secure_installation
. Dan il-proċess jippermettilek li:
- issettja/reset il-password għall-utent root RDBMS
- neħħi logins anonimi (b'hekk tippermetti lill-utenti b'kont validu biss jidħlu fl-RDBMS)
- itfi l-aċċess għall-għeruq għal magni minbarra localhost
- neħħi d-database tat-test (li kulħadd jista' jaċċessa)
- attiva l-bidliet assoċjati ma' 1 sa 4.
Għal deskrizzjoni aktar dettaljata ta 'dan il-proċess, tista' tirreferi għat-taqsima tal-installazzjoni ta 'Post f'Installa MariaDB Database f'RHEL/CentOS/Fedora u Debian/Ubuntu.
Konfigurazzjoni ta' MariaDB Server
L-għażliet tal-konfigurazzjoni default jinqraw mill-fajls li ġejjin fl-ordni mogħtija: /etc/mysql/my.cnf
, /etc/my.cnf
, u ~ /.my.cnf
.
Ħafna drabi, teżisti biss /etc/my.cnf
. Huwa fuq dan il-fajl li se nissettjaw is-settings madwar is-server (li jistgħu jiġu sostitwiti bl-istess settings f'~/.my.cnf
għal kull utent).
L-ewwel ħaġa li rridu ninnotaw dwar my.cnf
hija li s-settings huma organizzati f'kategoriji (jew gruppi) fejn kull isem ta' kategorija huwa magħluq b'parentesi kwadri.
Il-konfigurazzjonijiet tas-sistema tas-server huma mogħtija fit-taqsima [mysqld]
, fejn tipikament issib biss l-ewwel żewġ settings fit-tabella hawn taħt. Il-bqija huma għażliet oħra użati ta 'spiss (fejn indikat, aħna se nibdlu l-valur default b'waħda tad-dwana tal-għażla tagħna):
Se nibdlu dan biex nagħtu struzzjonijiet lis-servizz biex jisma' biss fuq l-indirizz prinċipali tiegħu (192.168.0.13):
bind_address=192.168.0.13
Aħna se nissostitwixxu l-valur default (3306) b'20500 (imma rridu niżguraw li xejn ieħor ma jkun qed juża dak il-port):
port=20500
Filwaqt li xi nies se jargumentaw li s-sigurtà permezz tal-oskur mhix prattika tajba, il-bdil tal-portijiet tal-applikazzjoni default għal dawk ogħla huwa metodu rudimentali - iżda effettiv - biex jiskoraġġixxi l-iskanijiet tal-port.
Aħna se nissostitwixxu l-valur default b'256 MB:
innodb_buffer_pool_size=256M
Sakemm ma teħtieġx hostnames biex tiddetermina l-permessi, huwa rakkomandabbli li tiddiżattiva din il-varjabbli (sabiex tħaffef il-konnessjonijiet u l-mistoqsijiet) billi tistabbilixxi l-valur tagħha għal 1:
skip_name_resolve=1
Għandek tagħżel id-daqs tal-cache tal-mistoqsijiet li jaqbel mal-bżonnijiet tiegħek ibbażat fuq 1) in-numru ta' mistoqsijiet ripetittivi, u 2) in-numru approssimattiv ta' rekords li dawk il-mistoqsijiet ripetittivi huma mistennija li jirritornaw. Aħna se nissettjaw dan il-valur għal 100 MB għalissa:
query_cache_size=100M
max_connections=30Kull konnessjoni se tuża ħajta, u għalhekk tikkonsma memorja. Ħu dan il-fatt f'kunsiderazzjoni waqt li tissettja max_connections.
Għal darb'oħra, dan jiddependi min-numru ta 'konnessjonijiet li qed tistenna. Nistgħu nissettjaw dan il-valur b'mod sikur għal nofs in-numru ta 'max_connections:
thread_cache_size=15
# yum install policycoreutils-python # semanage port -a -t mysqld_port_t -p tcp 20500
Imbagħad erġa ibda s-servizz MariaDB.
Irfinar Prestazzjoni MariaDB
Biex tgħinna niċċekkjaw u nirfinaw il-konfigurazzjoni skont il-ħtiġijiet speċifiċi tagħna, nistgħu ninstallaw mysqltuner (kitba li tipprovdi suġġerimenti biex tittejjeb il-prestazzjoni tas-server tad-database tagħna u żżid l-istabbiltà tiegħu):
# wget https://github.com/major/MySQLTuner-perl/tarball/master # tar xzf master
Imbagħad ibdel id-direttorju fil-folder estratt mit-tarball (il-verżjoni eżatta tista 'tvarja fil-każ tiegħek):
# cd major-MySQLTuner-perl-7dabf27
u mexxiha (inti se tintalab biex iddaħħal il-kredenzjali tal-kont amministrattiv MariaDB tiegħek)
# ./mysqltuner.pl
L-output tal-iskript fih innifsu huwa interessanti ħafna, iżda ejja naqbżu għall-qiegħ fejn il-varjabbli li għandhom jiġu aġġustati huma elenkati bil-valur rakkomandat:
L-issettjar query_cache_type
jindika jekk il-query cache hijiex diżattivata (0) jew attivata (1). F'dan il-każ, mysqltuner qed jagħtina parir biex tiddiżattivaha.
Allura għaliex aħna avżati li tiddiżattivaha issa? Ir-raġuni hija li l-query cache hija utli l-aktar f'xenarji ta 'qari għoli/ta' kitba baxxa (li mhuwiex il-każ tagħna, peress li aħna biss installajna s-server tad-database).
TWISSIJA: Qabel ma tagħmel bidliet fil-konfigurazzjoni ta' server ta' produzzjoni, inti mħeġġeġ ħafna li tikkonsulta amministratur espert tad-database biex tiżgura li rakkomandazzjoni mogħtija minn mysqltuner ma tħallix impatt negattiv fuq setting eżistenti.
Sommarju
F'dan l-artikolu spjegajna kif tikkonfigura server tad-database MariaDB wara li nkunu stallajna u assigurajna. Il-varjabbli tal-konfigurazzjoni elenkati fit-tabella ta 'hawn fuq huma biss ftit settings li tista' tkun trid tikkunsidra waqt li tipprepara s-server għall-użu jew meta tirfina aktar tard. Dejjem irreferi għad-dokumentazzjoni uffiċjali ta' MariaDB qabel ma tagħmel bidliet jew irreferi għall-pariri tagħna dwar l-irfinar tal-Prestazzjoni ta' MariaDB:
Bħal dejjem, toqgħodx lura milli tgħarrafna jekk għandek xi mistoqsijiet jew kummenti dwar dan l-artikolu. Hemm xi settings oħra tas-server li tixtieq tuża? Ħossok liberu li taqsam mal-bqija tal-komunità billi tuża l-formola tal-kummenti hawn taħt.