15 Gagnlegar MySQL/MariaDB árangursstillingar og hagræðingarráð


MySQL er öflugt opinn uppspretta Venslagagnagrunnsstjórnunarkerfi eða í stuttu máli RDBMS. Það kom út árið 1995 (20 ára). Það notar Structured Query Language sem er líklega vinsælasti kosturinn til að stjórna efni innan gagnagrunns. Nýjasta MySQL útgáfan er 5.6.25 og kom út 29. maí 2015.

Áhugaverð staðreynd um MySQL er sú staðreynd að nafnið kemur frá dóttur Michael Widenius (höfundar MySQL) My. Jafnvel þó að það sé fullt af áhugaverðum staðreyndum um MySQL, er þessari grein ætlað að sýna þér gagnlegar aðferðir til að hjálpa þér að stjórna MySQL þjóninum þínum.

Í apríl 2009 var MySQL verkefnið keypt af Oracle. Fyrir vikið var MySQL samfélagsgaffill sem heitir MariaDB búinn til. Helsta ástæðan fyrir því að stofna gaffalinn var að halda verkefninu ókeypis undir almennu leyfinu.

Í dag eru MySQL og MariaDB eitt mest (ef ekki mest) notaða RDBMS sem notað er fyrir vefforrit eins og WordPress, Joomla, Magento og fleiri.

Þessi grein mun sýna þér nokkur einföld en samt gagnleg ráð um hvernig á að fínstilla afköst MySQL/MariaDB. Vinsamlegast hafðu í huga að þessi grein gerir ráð fyrir að þú hafir nú þegar MySQL eða MariaDB uppsett. Ef þú ert enn að velta því fyrir þér hvernig á að setja þau upp á vélinni þinni geturðu fylgst með víðtækum leiðbeiningum okkar hér:

  1. Setur upp LAMP á RHEL/CentOS 7
  2. Setur upp LAMP á Fedora 22
  3. Setja upp LAMP á Ubuntu 15.04
  4. Setja upp MariaDB á Debian 8
  5. Settu upp MariaDB á Gentoo Linux
  6. Settu upp MariaDB á Arch Linux

Mikilvægt: Áður en við byrjum - ekki samþykkja þessar tillögur í blindni. Hver MySQL uppsetning er einstök og krefst frekari umhugsunar áður en breytingar eru gerðar.

Hlutir sem þú þarft að vita:

  1. MySQL/MariaDB stillingarskrá er staðsett í /etc/my.cnf. Í hvert skipti sem þú breytir þessari skrá þarftu að endurræsa MySQL þjónustuna svo nýju breytingarnar geti tekið gildi.
  2. Til að skrifa þessa grein hefur MySQL útgáfa 5.6 verið notuð sem sniðmát.

1. Virkja InnoDB skrá-á-töflu

Fyrst er mikilvægt að útskýra að InnoDB er geymsluvél. MySQL og MariaDB nota InnoDB sem sjálfgefna geymsluvél. Í fortíðinni notaði MySQL til að geyma gagnagrunnstöflur og vísitölur í kerfistöflurými. Þessi nálgun var ætluð fyrir netþjóna sem eingöngu er gagnagrunnsvinnsla og geymsludiskur þeirra er ekki notaður í neinum öðrum tilgangi.

InnoDB veitir sveigjanlegri nálgun og hver gagnagrunnsupplýsing er geymd í .ibd gagnaskrá. Hver .ibd skrá táknar sitt eigið borðrými. Þannig er hægt að klára gagnagrunnsaðgerðir eins og TRUNCATE hraðar og þú gætir líka endurheimt ónotað pláss þegar þú sleppir eða styttir gagnagrunnstöflu.

Annar ávinningur af þessari uppsetningu er sú staðreynd að þú getur geymt sumar gagnagrunnstöflurnar í sérstöku geymslutæki. Þetta getur bætt I/O álag á diskana þína til muna.

Innodb_file_per_table er sjálfgefið virkt í MySQL 5.6 og nýrri. Þú getur séð það í /etc/my.cnf skránni. Tilskipunin lítur svona út:

innodb_file_per_table=1

2. Geymdu MySQL gagnagrunnsgögn á aðskildri skiptingu

Athugið: Þessi uppsetning virkar aðeins með MySQL, en ekki með MariaDB.

Stundum getur lestur/skrif stýrikerfis hægt á afköstum MySQL netþjónsins, sérstaklega ef hann er staðsettur á sama harða disknum. Í staðinn myndi ég mæla með því að nota sérstakan harðan disk (helst SSD) fyrir MySQL þjónustuna.

Til að klára þetta þarftu að tengja nýja drifið við tölvuna/þjóninn þinn. Í tilgangi þessarar greinar mun ég gera ráð fyrir að drifið sé undir /dev/sdb.

Næsta skref er að undirbúa nýja drifið:

# fdisk /dev/sdb

Ýttu nú á \n til að búa til nýja skiptingu. Næst ýttu á \p til að gera nýja skiptinguna að aðal. Eftir það skaltu stilla skiptingarnúmerið frá 1-4. Eftir það velurðu skiptingarstærðina. Ýttu á enter hér. Í næsta skrefi þarftu að stilla stærð skiptingarinnar.

Ef þú vilt nota allan diskinn ýtirðu á enter einu sinni enn. Annars geturðu stillt stærð nýju skiptingarinnar handvirkt. Þegar þú ert tilbúinn skaltu ýta á \w til að skrifa breytingarnar. Nú þurfum við að búa til skráarkerfi fyrir nýju skiptinguna okkar. Þetta er auðvelt að gera með:

# mkfs.ext4 /dev/sdb1

Nú munum við tengja nýja skiptinguna okkar í möppu. Ég hef nefnt möppuna mína ssd og búið til í rótarskránni:

# mkdir /ssd/

Við erum tilbúin til að tengja nýju skiptinguna sem við gerðum í nýju möppunni:

# mount /dev/sdb1  /ssd/

Þú getur framkvæmt fjallið við ræsingu með því að bæta eftirfarandi línu í /etc/fstab skrána.

/dev/sdb1 /ssd ext3 defaults 0 0

Nú ertu tilbúinn til að færa MySQL á nýja diskinn. Stöðvaðu fyrst MySQL þjónustuna með:

# service mysqld stop

Ég myndi mæla með því að þú hættir Apache/nginx líka til að koma í veg fyrir allar tilraunir til að skrifa í gagnagrunnana:

# service httpd stop
# service nginx stop

Afritaðu nú alla MySQL möppuna í nýja drifið:

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

Þetta getur tekið smá stund eftir því hvar MySQL gagnagrunnarnir eru staðsettir. Þegar þessu ferli er lokið endurnefna MySQL möppuna:

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

Næst munum við búa til tákntengil.

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

Nú ertu tilbúinn til að hefja MySQL og vefþjónustuna þína:

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

Á þessum tímapunkti verður aðgangur að MySQL gagnagrunnum þínum frá nýja drifinu.