Otu esi wụnye, Nchekwa na Nrụgharị Ọrụ nke MariaDB Database Server


Ihe nkesa nchekwa data bụ akụkụ dị oke mkpa nke akụrụngwa netwọkụ dị mkpa maka ngwa taa. Enweghị ike ịchekwa, weghachite, melite na ihichapụ data (mgbe ọ dị mkpa), uru na oke nke ngwa weebụ na desktọpụ na-adị oke oke.

Na mgbakwunye, ịmara otu esi etinye, jikwaa, na hazie sava nchekwa data (ka o wee rụọ ọrụ dịka a tụrụ anya ya) bụ nka dị mkpa nke onye nchịkwa sistemụ ọ bụla ga-enwerịrị.

N'isiokwu a, anyị ga-atụle nkenke ka esi etinye ma chekwaa ihe nkesa nchekwa data MariaDB wee kọwaa otu esi ahazi ya.

Ịwụnye na ịchekwa ihe nkesa MariaDB

Na CentOS 7.x, MariaDB dochie MySQL, nke a ka nwere ike ịhụ na Ubuntu (yana MariaDB). Otu ihe ahụ dịkwa maka openSUSE.

Maka nkenke, anyị ga-eji MariaDB naanị na nkuzi a, mana biko mara na ewezuga inwe aha dị iche iche na nkà ihe ọmụma mmepe, ma Relational DataBase Management Systems (RDBMSs maka mkpụmkpụ) fọrọ nke nta ka ọ bụrụ otu.

Nke a pụtara na iwu ndị ahịa-n'akụkụ bụ otu na ma MySQL na MariaDB, na faịlụ nhazi aha na-aha na dị n'otu ebe.

Iji wụnye MariaDB, mee:

--------------- 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

Mara na, na Ubuntu, a ga-ajụ gị ka itinye paswọọdụ maka onye ọrụ mgbọrọgwụ RDBMS.

Ozugbo etinyere ngwugwu ndị a dị n'elu, jide n'aka na ọrụ nchekwa data na-arụ ọrụ ma rụọ ọrụ ka ịmalite na buut (na CentOS na openSUSE ị ga-achọ iji aka gị rụọ ọrụ a, ebe na Ubuntu, usoro ntinye ga-elekọta ya. maka gị):

--------------- On CentOS/RHEL 7 and Fedora 23 --------------- 
# systemctl start mariadb && systemctl enable mariadb 

--------------- On openSUSE --------------- 
# systemctl start mysql && systemctl enable mysql

Wee mee mysql_secure_installation script. Usoro a ga - enyere gị aka:

  1. tọọ/tọgharịa paswọọdụ maka onye ọrụ mgbọrọgwụ RDBMS
  2. wepu nbanye na-amaghị aha (si otú ahụ na-enye naanị ndị ọrụ nwere akaụntụ bara uru ịbanye na RDBMS)
  3. gbanyụọ ohere mgbọrọgwụ maka igwe ndị ọzọ karịa localhost
  4. wepụ nchekwa data nnwale (nke onye ọ bụla nwere ike ịnweta)
  5. gbalite mgbanwe ndị metụtara 1 ruo 4.

Maka nkọwa zuru ezu nke usoro a, ị nwere ike na-ezo aka na ngalaba ntinye Post na Wụnye Database MariaDB na RHEL/CentOS/Fedora na Debian/Ubuntu.

Na-ahazi MariaDB Server

A na-agụ nhọrọ nhazi ndabara site na faịlụ ndị a n'usoro enyere: /etc/mysql/my.cnf, /etc/my.cnf, na ~ /.my.cnf.

Ọtụtụ mgbe, naanị /etc/my.cnf dị. Ọ bụ na faịlụ a ka anyị ga-edobe ntọala n'obosara nkesa (nke enwere ike imechi ya na otu ntọala na ~/.my.cnf maka onye ọrụ ọ bụla).

Ihe mbụ anyị kwesịrị ịma gbasara my.cnf bụ na a na-ahazi ntọala n'ime edemede (ma ọ bụ otu) ebe aha ụdị ọ bụla ejiri akara brackets gbachie.

A na-enye nhazi usoro ihe nkesa na mpaghara [mysqld], ebe ị ga-ahụ naanị ntọala abụọ mbụ na tebụl dị n'okpuru. Ndị ọzọ bụ nhọrọ ndị ọzọ a na-ejikarị eme ihe (ebe egosipụtara, anyị ga-eji otu omenala nke nhọrọ anyị họrọ):

Anyị ga-agbanwe nke a iji kụziere ọrụ ahụ ka ọ gee ntị naanị na adreesị ya (192.168.0.13):

bind_address=192.168.0.13 bind_address=0.0.0.0 ọdụ ụgbọ mmiri na-anọchi anya ọdụ ụgbọ mmiri ebe ihe nkesa nchekwa data ga na-ege ntị.

Anyị ga-eji 20500 dochie uru ndabara (3306) (ma anyị kwesịrị ijide n'aka na ọ dịghị ihe ọzọ na-eji ọdụ ụgbọ mmiri ahụ):
ọdụ ụgbọ mmiri=20500

Ọ bụ ezie na ụfọdụ ndị mmadụ ga-arụ ụka na nchekwa site na nzuzo abụghị ezigbo omume, ịgbanwe ọdụ ụgbọ mmiri ndị na-adịghị mma maka ndị dị elu bụ usoro iwu -ma dị irè na-akụda nyocha ọdụ ụgbọ mmiri. ọdụ ụgbọ mmiri=3306 innodb_buffer_pool_size bụ ebe nchekwa (na bytes) nke ebe nchekwa. ekenyela maka data na ndeksi nke a na-enweta ugboro ugboro mgbe ị na-eji Innodb (nke bụ ndabara na MariaDB) ma ọ bụ XtraDB dị ka igwe nchekwa.

Anyị ga-eji 256 MB dochie uru ndabara:

innodb_buffer_pool_size=256M innodb_buffer_pool_size=134217728 skip_name_resolve na-egosi ma a ga-edozi aha nnabata ma ọ bụ na ọ bụghị na njikọ mbata. . Ọ bụrụ na edobere na 1, dịka anyị ga-eme na ntuziaka a, naanị adreesị IP.

Ọ gwụla ma ịchọrọ aha nnabata iji chọpụta ikike, ọ dị mma ka gbanyụọ mgbanwe a (iji mee ka njikọ na ajụjụ dị ngwa) site na ịtọ uru ya na 1:

skip_name_resolve=1 skip_name_resolve=0 query_cache_size na-anọchi anya nha (na bytes) dị na ajụjụ a. cache na diski, ebe a na-echekwa nsonaazụ SELECT ajụjụ maka ọdịnihu mgbe a na-eme otu ajụjụ (na otu nchekwa data na iji otu protocol na otu agwa).

Ị ga-ahọrọ nha cache ajụjụ nke dabara na mkpa gị dabere na 1) ọnụọgụ nke ajụjụ ugboro ugboro, na 2) ọnụọgụ ndekọ nke ihe ndekọ ajụjụ ndị a na-atụ anya ịlaghachi. Anyị ga-edobe uru a na 100 MB maka oge a:

query_cache_size=100M query_cache_size=0 (nke pụtara na ndabara adịghị ya) max_connections bụ ọnụ ọgụgụ kachasị nke njikọ ndị ahịa n'otu oge na nkesa. . Anyị ga-edozi uru a na 30:
max_connections=30 Njikọ ọ bụla ga-eji eri, yabụ ga-eri ebe nchekwa. Buru eziokwu a n'uche mgbe ị na-edozi max_connections. max_connections=151 thread_cache_size na-egosi ọnụọgụ eri nke ihe nkesa na-ekenye maka ijigharị. mgbe onye ahịa kwụsịrị ma hapụ eriri (s) ejiri na mbụ. N'ọnọdụ dị otú a, ọ dị ọnụ ala (arụmọrụ-maara ihe) ijikwa eri ọzọ karịa ibipụta nke ọhụrụ.

Ọzọ, nke a dabere na ọnụọgụ njikọ ị na-atụ anya. Anyị nwere ike ịtọ uru a n'enweghị nsogbu na ọkara ọnụọgụ max_connection:

thread_cache_size=15 thread_cache_size=0 (nwere nkwarụ na ndabara) Na CentOS, anyị ga-agwa SELinux ka ọ kwe ka MariaDB gee ntị na ọdụ ụgbọ mmiri na-abụghị ọkọlọtọ (20500) tupu ịmalitegharịa ọrụ:

# yum install policycoreutils-python
# semanage port -a -t mysqld_port_t -p tcp 20500

Mgbe ahụ malitegharịa ọrụ MariaDB.

Ntughari arụmọrụ MariaDB

Iji nyere anyị aka ịlele na ịhazi nhazi ahụ dịka mkpa anyị siri dị, anyị nwere ike ịwụnye mysqltuner (edemede nke ga-enye aro iji melite arụmọrụ nke ihe nkesa nchekwa data anyị ma mee ka nkwụsi ike ya):

# wget https://github.com/major/MySQLTuner-perl/tarball/master
# tar xzf master

Wee gbanwee ndekọ n'ime folda ewepụtara na tarball (ụdị ụdị ahụ nwere ike ịdị iche na nke gị):

# cd major-MySQLTuner-perl-7dabf27

wee mee ya (a ga-akpali gị ịbanye nzere nke akaụntụ MariaDB nhazi gị)

# ./mysqltuner.pl

Nsonaazụ nke edemede ahụ n'onwe ya na-adọrọ mmasị nke ukwuu, mana ka anyị wụpụ na ala ebe e depụtara mgbanwe ndị a ga-emegharị na uru akwadoro:

Ntọala query_cache_type na-egosi ma cache ajụjụ agbanyụrụ (0) ma ọ bụ nwee ike (1). N'okwu a, mysqltuner na-adụ anyị ọdụ ka anyị gbanyụọ ya.

Yabụ kedu ihe a gwara anyị ka gbanyụọ ya ugbu a? Ihe kpatara ya bụ na cache ajụjụ bara uru nke ukwuu na ọnọdụ ọgụgụ dị elu/nke dị ala (nke na-abụghị nke anyị, ebe ọ bụ na anyị etinyere ihe nkesa nchekwa data).

ỊDỌ AKA NA NTỊ: Tupu ịme mgbanwe na nhazi nke ihe nkesa mmepụta, a na-agba gị ume ka ị kpọtụrụ ọkachamara nchekwa data nchịkwa iji hụ na ndụmọdụ mysqltuner nyere agaghị emetụta ọnọdụ dị adị.

Nchịkọta

N'isiokwu a, anyị akọwala otu esi ahazi ihe nkesa nchekwa data MariaDB mgbe anyị tinyechara ma chekwaa ya. Nhazi mgbanwe ndị e depụtara na tebụl dị n'elu bụ naanị ntọala ole na ole ị nwere ike ịtụle mgbe ị na-akwadebe ihe nkesa maka ojiji ma ọ bụ mgbe ị na-emegharị ya ma emechaa. Na-ezo aka mgbe niile na akwụkwọ MariaDB gọọmentị tupu ịme mgbanwe ma ọ bụ rụtụ aka na ndụmọdụ nlegharị anya MariaDB Performance:

Dị ka oge niile, egbula oge ime ka anyị mara ma ị nwere ajụjụ ọ bụla ma ọ bụ kwuo gbasara akụkọ a. Ọ nwere ntọala sava ndị ọzọ masịrị gị iji? Enwere onwe gị ịkọrọ ndị obodo ndị ọzọ site na iji ụdị nkọwa n'okpuru.