15 Iṣatunṣe Iṣẹ MySQL/MariaDB ti o wulo ati Awọn imọran Iṣapeye


MySQL jẹ orisun ṣiṣi agbara ti o ni ibatan Iṣakoso Iṣakoso data tabi ni kukuru RDBMS. O ti tu pada ni ọdun 1995 (ọdun 20). O nlo Ede Ibeere Ti o ṣeto eyiti o ṣee ṣe yiyan ti o gbajumọ julọ fun ṣiṣakoso akoonu laarin ibi ipamọ data kan. Ẹya MySQL tuntun ni 5.6.25 ati tu silẹ ni 29 May 2015.

Otitọ ti o nifẹ nipa MySQL ni otitọ pe orukọ wa lati ọmọbinrin Michael Widenius (ẹlẹda MySQL) My. Botilẹjẹpe ọpọlọpọ awọn otitọ ti o nifẹ nipa MySQL wa, nkan yii ni a tumọ lati fihan diẹ ninu awọn iṣe to wulo lati ṣe iranlọwọ fun ọ lati ṣakoso olupin MySQL rẹ.

Ni Oṣu Kẹrin ọdun 2009 iṣẹ akanṣe MySQL ti ra nipasẹ Oracle. Gẹgẹbi abajade orita agbegbe MySQL kan ti a pe ni MariaDB ti ṣẹda. Idi akọkọ fun ṣiṣẹda orita ni lati jẹ ki iṣẹ akanṣe naa wa labẹ Iwe-aṣẹ Gbogbogbo Gbogbogbo.

Loni MySQL ati MariaDB jẹ ọkan ninu pupọ julọ (ti kii ba ṣe pupọ julọ) nigbagbogbo lo RDBMS ti a lo fun awọn ohun elo wẹẹbu bii Wodupiresi, Joomla, Magento ati awọn omiiran.

Nkan yii yoo fihan ọ diẹ ninu ipilẹ, sibẹsibẹ awọn imọran ti o wulo bi o ṣe le ṣe atunṣe iṣẹ-orin daradara ti MySQL/MariaDB. Jọwọ ranti pe nkan yii dawọle pe o ti fi MySQL sii tẹlẹ tabi MariaDB. Ti o ba tun n iyalẹnu bii o ṣe le fi wọn sori ẹrọ rẹ, o le tẹle awọn itọsọna sanlalu wa nibi:

  1. Fifi atupa lori RHEL/CentOS 7
  2. Fifi atupa lori Fedora 22
  3. Ṣiṣeto atupa lori Ubuntu 15.04
  4. Fifi MariaDB sori Debian 8
  5. Fi MariaDB sori Linux Linux
  6. Fi MariaDB sori Arch Linux

Pataki: Ṣaaju ki a to bẹrẹ - maṣe gba awọn imọran yii ni afọju. Eto MySQL kọọkan jẹ alailẹgbẹ ati nilo iṣaro afikun, ṣaaju ṣiṣe awọn ayipada eyikeyi.

Awọn nkan ti o nilo lati mọ:

  1. Faili iṣeto ni MySQL/MariaDB wa ni /etc/my.cnf . Ni gbogbo igba ti o ba yipada faili yii o nilo lati tun bẹrẹ iṣẹ MySQL ki awọn ayipada tuntun le di ipa.
  2. Fun kikọ nkan yii ẹya 5.6 MySQL ti lo bi awoṣe.

1. Jeki InnoDB faili-fun-tabili

Ni akọkọ o ṣe pataki lati ṣalaye pe InnoDB jẹ ẹrọ ipamọ. MySQL ati MariaDB lo InnoDB bi ẹrọ ipamọ aiyipada. Ni igba atijọ MySQL lo lati tọju awọn tabili apoti data ati awọn atọka sinu aaye tabili eto kan. Ọna yii ni a tumọ fun awọn olupin eyiti idi idi kan ni ṣiṣe data ati pe disk ipamọ wọn ko lo fun awọn idi miiran.

InnoDB pese ọna irọrun diẹ sii ati pe alaye data data kọọkan wa ni ipamọ ni .ibd faili data. Faili kọọkan .ibd duro fun aaye tabili tabili ti tirẹ. Iyẹn ọna awọn iṣẹ ṣiṣe data gẹgẹbi\"TRUNCATE" le pari ni iyara ati pe o tun le gba aaye ti ko lo nigba fifisilẹ tabi gige tabili tabili data kan.

Anfani miiran ti iṣeto yii ni otitọ pe o le tọju diẹ ninu awọn tabili data ni ẹrọ lọtọ ẹrọ. Eyi le mu ilọsiwaju I/O pọ si lori awọn disiki rẹ.

Innodb_file_per_table ti ṣiṣẹ nipasẹ aiyipada ni MySQL 5.6 ati loke. O le rii i ni faili /etc/my.cnf. Ilana naa dabi eleyi:

innodb_file_per_table=1

2. Tọju Data MySQL data lori Iyapa Iyapa

Akiyesi: Eto yii nikan n ṣiṣẹ pẹlu MySQL, ṣugbọn kii ṣe pẹlu MariaDB.

Nigbakan OS ka/kọ le fa fifalẹ iṣẹ ti olupin MySQL rẹ, paapaa ti o ba wa lori dirafu lile kanna. Dipo, Emi yoo ṣeduro lilo dirafu lile lọtọ (pelu SSD) fun iṣẹ MySQL.

Lati pari, eyi o nilo lati so kọnputa tuntun pọ mọ kọmputa/olupin rẹ. Fun idi ti nkan yii, Emi yoo ro pe kọnputa yoo wa labẹ/dev/sdb.

Igbese ti n tẹle ni lati ṣeto awakọ tuntun:

# fdisk /dev/sdb

Bayi tẹ\"n" lati ṣẹda ipin tuntun. Nigbamii ti tẹ\"p" lati ṣe ipin tuntun ni akọkọ. Lẹhin eyi, ṣeto nọmba ipin lati 1-4. Lẹhin eyi o yoo yan iwọn ipin. Tẹ tẹ ibi. Ni igbesẹ ti n tẹle iwọ yoo nilo lati tunto iwọn ti ipin naa.

Ti o ba fẹ lo gbogbo disk tẹ, tẹ lẹẹkan sii. Bibẹkọ ti o le ṣeto ọwọ pẹlu iwọn ti ipin tuntun. Nigbati o ba ṣetan tẹ\"w" lati kọ awọn ayipada naa. Bayi a yoo nilo lati ṣẹda eto faili kan fun ipin tuntun wa. Eyi le ṣee ṣe ni rọọrun pẹlu:

# mkfs.ext4 /dev/sdb1

Bayi a yoo gbe ipin tuntun wa ninu folda kan. Mo ti lorukọ folda mi\"ssd" ati ṣẹda ninu itọsọna gbongbo:

# mkdir /ssd/

A ti ṣetan lati gbe ipin tuntun ti a ṣẹṣẹ ṣe ni folda tuntun:

# mount /dev/sdb1  /ssd/

O le ṣe oke ni ibẹrẹ nipa fifi ila atẹle si ni/ati be be lo/fstab faili.

/dev/sdb1 /ssd ext3 defaults 0 0

Bayi o ti ṣetan lati gbe MySQL si disiki tuntun. Akọkọ da iṣẹ MySQL duro pẹlu:

# service mysqld stop

Emi yoo ṣeduro pe ki o da Afun/nginx duro daradara lati ṣe idiwọ eyikeyi awọn igbiyanju lati kọ ninu awọn apoti isura data:

# service httpd stop
# service nginx stop

Bayi da gbogbo itọsọna MySQL ni kọnputa tuntun:

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

Eyi le gba igba diẹ da lori aaye ti awọn apoti isura infomesonu MySQL rẹ. Lọgan ti ilana yii ti pari fun lorukọ mii MySQL liana:

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

Nigbamii ti a yoo ṣẹda symlink kan.

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

Bayi o ti ṣetan lati bẹrẹ MySQL rẹ ati iṣẹ wẹẹbu:

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

Ni aaye yii awọn apoti isura infomesonu MySQL rẹ yoo wa ni ọdọ iwakọ tuntun.