15 bara uru MySQL/MariaDB Ntuzigharị arụmọrụ yana ndụmọdụ kachasị mma


MySQL bụ isi mmalite mepere emepe Relational Database Management System ma ọ bụ na RDBMS nkenke. A tọhapụrụ ya laa azụ na 1995 (afọ 20). Ọ na-eji Asụsụ ajụjụ Structured nke nwere ike bụrụ nhọrọ kacha ewu ewu maka ijikwa ọdịnaya n'ime nchekwa data. Ụdị MySQL kachasị ọhụrụ bụ 5.6.25 wee wepụta ya na 29 Mee 2015.

Eziokwu na-adọrọ mmasị banyere MySQL bụ eziokwu ahụ bụ na aha ahụ sitere n'aka Michael Widenius's (MySQL's creator) ada My. N'agbanyeghị na enwere ọtụtụ eziokwu na-atọ ụtọ gbasara MySQL, isiokwu a bụ iji gosi gị ụfọdụ omume bara uru iji nyere gị aka ijikwa sava MySQL gị.

N'April 2009 ka Oracle zụtara ọrụ MySQL. N'ihi ya, e mepụtara ndụdụ obodo MySQL a na-akpọ MariaDB. Isi ihe mere e ji kee ndụdụ ahụ bụ ka e debe ọrụ ahụ n'efu n'okpuru akwụkwọ ikike ọhaneze.

Taa MySQL na MariaDB bụ otu n'ime RDBMS kachasị (ma ọ bụrụ na ọ bụghị nke kachasị) nke a na-ejikarị eme ihe maka ngwa weebụ dị ka WordPress, Joomla, Magento na ndị ọzọ.

Edemede a ga-egosi gị ụfọdụ ndụmọdụ bụ isi, ma bara uru ka ị ga-esi kwalite ọmarịcha arụmọrụ MySQL/MariaDB. Biko buru n'uche na edemede a na-eche na ị tinyela MySQL ma ọ bụ MariaDB. Ọ bụrụ na ị ka na-eche ka esi etinye ha na sistemụ gị, ị nwere ike soro ntuziaka anyị buru ibu ebe a:

  1. Ịwụnye LAMP na RHEL/CentOS 7
  2. Ịwụnye LAMP na Fedora 22
  3. Ịtọlite LAMP na Ubuntu 15.04
  4. Ịwụnye MariaDB na Debian 8
  5. Wụnye MariaDB na Gentoo Linux
  6. Wụnye MariaDB na Arch Linux

Ihe dị mkpa: Tupu anyị amalite - anabatala aro ndị a n'amaghị ama. Ntọala MySQL ọ bụla bụ ihe pụrụ iche na-achọkwa echiche ọzọ, tupu ịme mgbanwe ọ bụla.

Ihe ndị ị kwesịrị ịma:

  1. faịlụ nhazi MySQL/MariaDB dị na /etc/my.cnf. Oge ọ bụla ị megharịrị faịlụ a, ị ga-achọ ịmalitegharị ọrụ MySQL ka mgbanwe ọhụrụ ahụ wee nwee ike ịmalite.
  2. E jirila ụdị MySQL 5.6 ede edemede a dị ka ndebiri.

1. Kwado InnoDB faịlụ-kwa-tebụ

Nke mbụ ọ dị mkpa ịkọwa na InnoDB bụ igwe nchekwa. MySQL na MariaDB na-eji InnoDB dị ka igwe nchekwa ndabere. N'oge gara aga MySQL, a na-eji dobe tebụl nchekwa data na ndeksi n'ime okpokoro okpokoro. Ezubere usoro a maka sava nke naanị ebumnuche bụ nhazi nchekwa data na anaghị eji diski nchekwa ha maka ebumnuche ọ bụla ọzọ.

InnoDB na-enye ụzọ mgbanwe karịa yana ozi nchekwa data ọ bụla na-edobe na faịlụ data .ibd. Faịlụ .ibd ọ bụla na-anọchite anya oghere tebụl nke ya. N'ụzọ dị otú ahụ, ọrụ nchekwa data dị ka \TRUNCATE nwere ike mechaa ngwa ngwa ma ị nwekwara ike nwetaghachi ohere ejighi ya mgbe ị na-atụba ma ọ bụ na-akụda tebụl nchekwa data.

Uru ọzọ nke nhazi a bụ eziokwu na ị nwere ike idobe ụfọdụ tebụl nchekwa data na ngwaọrụ nchekwa dị iche. Nke a nwere ike imeziwanye ibu I/O na diski gị.

A na-akwado innodb_file_per_table na ndabara na MySQL 5.6 na n'elu. Ị nwere ike ịhụ nke ahụ na faịlụ /etc/my.cnf. Ntuziaka ahụ dị ka nke a:

innodb_file_per_table=1

2. Chekwaa MySQL Database Data na nkebi iche

Mara: Ntọala a na-arụ ọrụ naanị na MySQL, mana ọ bụghị na MariaDB.

Mgbe ụfọdụ OS na-agụ/na-ede nwere ike belata arụmọrụ nke ihe nkesa MySQL gị, karịsịa ma ọ bụrụ na ọ dị na otu draịvụ ike. Kama, m ga-akwado iji draịvụ ike dị iche (ọkacha mma SSD) maka ọrụ MySQL.

Iji wuchaa, nke a ga-adị mkpa ka itinye draịvụ ọhụrụ ahụ na kọmputa/nkesa gị. Maka ebumnuche nke isiokwu a, m ga-eche na draịva ahụ ga-adị n'okpuru/dev/sdb.

Nzọụkwụ ọzọ bụ ịkwadebe mbanye ọhụrụ:

# fdisk /dev/sdb

Ugbu a pịa \n ka imepụta nkebi ọhụrụ. Pịa \p ka ime ka nkebi ọhụrụ ahụ bụrụ isi. Mgbe nke ahụ gasịrị, tọọ nọmba nkebi site na 1-4. Mgbe nke ahụ gasịrị, ị ga-ahọrọ nha nkebi. Pịa tinye ebe a. Na nzọụkwụ ọzọ ị ga-mkpa hazi size nke nkebi.

Ọ bụrụ na-ịchọrọ iji diski dum pịa tinye ọzọ. Ma ọ bụghị ya, ị nwere ike iji aka hazie nha nkebi ọhụrụ ahụ. Mgbe ị dị njikere, pịa \w ka ị dee mgbanwe ndị a. Ugbu a, anyị ga-achọ ịmepụta faịlụ maka nkebi ọhụrụ anyị. Enwere ike ime nke a ngwa ngwa site na:

# mkfs.ext4 /dev/sdb1

Ugbu a, anyị ga-ebugo nkebi ọhụrụ anyị na folda. Akpọla m folda m aha \ssd wee kee ya na akwụkwọ ndekọ aha:

# mkdir /ssd/

Anyị dị njikere ibugo nkebi ọhụrụ anyị mere na nchekwa ọhụrụ:

# mount /dev/sdb1  /ssd/

Ị nwere ike ịrụ ugwu ahụ na mmalite site na ịgbakwunye ahịrị na-esonụ na /etc/fstab faịlụ.

/dev/sdb1 /ssd ext3 defaults 0 0

Ugbu a ị dịla njikere ịkwaga MySQL na diski ọhụrụ ahụ. Buru ụzọ kwụsị ọrụ MySQL na:

# service mysqld stop

M ga-akwado ka ị kwụsị Apache/nginx iji gbochie mbọ ọ bụla ide na ọdụ data:

# service httpd stop
# service nginx stop

Ugbu a detuo ndekọ MySQL niile na draịva ọhụrụ:

# cp /var/lib/mysql /ssd/ -Rp

Nke a nwere ike were obere oge dabere na saịtị nke MySQL ọdụ data. Ozugbo usoro a zuru, nyegharịa ndekọ MySQL aha:

# mv /var/lib/mysql /var/lib/mysql-backup

Ọzọ anyị ga-emepụta symlink.

# ln -s /ssd/mysql /var/lib/mysql

Ugbu a ị dịla njikere ịmalite MySQL na ọrụ weebụ:

# service mysqld start
# service httpd start
# service nginx start

N'oge a, a ga-enweta ọdụ data MySQL site na draịva ọhụrụ ahụ.