MySQL е мощна система за управление на релационни бази данни с отворен код или накратко RDBMS . Издаден е през 1995 г. (20 години). Той използва структуриран език за заявки което е може би най-популярният избор за управление на съдържание в база данни. Най-новата версия на MySQL е 5.6.25 и беше пуснат на 29 май 2015 г. .
Интересен факт за MySQL е фактът, че името идва от Michael Widenius's (създател на MySQL) дъщеря Моята. Равномерното въпреки че има много интересни факти за MySQL, тази статия има за цел да ви покаже някои полезни практики, които да ви помогнат да управлявате вашия MySQL сървър.
През април2009г проектът MySQL е купен от Oracle. В резултат на това разклонение на MySQL общността, наречено MariaDB беше създаден. Основната причина за създаването на форка беше проектът да остане безплатен под Общия публичен лиценз.
Днес MySQL и MariaDB са едни от най-често (ако не и най-често използваните) RDBMS, използвани за уеб приложения като WordPress , Joomla , Magento и други.
Тази статия ще ви покаже някои основни, но полезни съвети как да оптимизирате фината настройка на производителността на MySQL/MariaDB. Моля, имайте предвид, че тази статия предполага, че вече имате инсталиран MySQL или MariaDB. Ако все още се чудите как да ги инсталирате на вашата система, можете да следвате нашите обширни ръководства тук:
- Инсталиране на LAMP на RHEL/CentOS 7
- Инсталиране на LAMP на Fedora 22
- Настройване на LAMP в Ubuntu 15.04
- Инсталиране на MariaDB на Debian 8
- Инсталирайте MariaDB на Gentoo Linux
- Инсталирайте MariaDB на Arch Linux
Важно :Преди да започнем – не приемайте тези предложения сляпо. Всяка настройка на MySQL е уникална и изисква допълнително обмисляне, преди да направите каквито и да било промени.
Неща, които трябва да знаете:
- Конфигурационният файл на MySQL/MariaDB се намира в
/etc/my.cnf
. Всеки път, когато променяте този файл, ще трябва да рестартирате услугата MySQL, за да влязат в сила новите промени. - За написването на тази статия MySQL версия 5.6 е използван като шаблон.
1. Активирайте InnoDB файл на таблица
Първо е важно да се обясни, че InnoDB е двигател за съхранение. MySQL и MariaDB използват InnoDB като машина за съхранение по подразбиране. В миналото MySQL се използваше за поддържане на таблици и индекси на база данни в системно пространство за таблици. Този подход е предназначен за сървъри, чиято единствена цел е обработката на база данни и техният диск за съхранение не се използва за никакви други цели.
InnoDB предоставя по-гъвкав подход и всяка информация от базата данни се съхранява в .ibd
файл с данни. Всеки.ibd файл представлява собствено пространство за таблици. По този начин операции с база данни като „TRUNCATE ” може да бъде завършена по-бързо и също така можете да възстановите неизползваното пространство, когато изпускате или съкращавате таблица на база данни.
Друго предимство на тази конфигурация е фактът, че можете да съхранявате някои от таблиците на базата данни в отделно устройство за съхранение. Това може значително да подобри I/O заредете на вашите дискове.
innodb_file_per_table е активиран по подразбиране в MySQL 5.6 и по-нова версия. Можете да видите това в /etc/my.cnf файл. Директивата изглежда така:
innodb_file_per_table=1
2. Съхранявайте MySQL данни от базата данни на отделен дял
Забележка :Тази настройка работи само с MySQL, но не и с MariaDB.
Понякога четенето/записването на ОС може да забави производителността на вашия MySQL сървър, особено ако се намира на същия твърд диск. Вместо това бих препоръчал използването на отделен твърд диск (за предпочитане SSD) за услугата MySQL.
За да завършите това, ще трябва да прикачите новото устройство към вашия компютър/сървър. За целите на тази статия предполагам, че устройството ще бъде под /dev/sdb .
Следващата стъпка е да подготвите новото устройство:
# fdisk /dev/sdb
Сега натиснете „n ”, за да създадете нов дял. След това натиснете „p ”, за да направите новия дял основен. След това задайте номера на дяла от 1-4 . След това ще изберете размера на дяла. Натиснете enter тук. На следващата стъпка ще трябва да конфигурирате размера на дяла.
Ако желаете да използвате целия диск, натиснете Enter още веднъж. В противен случай можете ръчно да зададете размера на новия дял. Когато сте готови, натиснете „w ”, за да напишете промените. Сега ще трябва да създадем файлова система за нашия нов дял. Това може лесно да се направи с:
# mkfs.ext4 /dev/sdb1
Сега ще монтираме нашия нов дял в папка. Кръстих папката си „ssd ” и създаден в основната директория:
# mkdir /ssd/
Готови сме да монтираме новия дял, който току-що направихме, в новата папка:
# mount /dev/sdb1 /ssd/
Можете да извършите монтирането при стартиране, като добавите следния ред в /etc/fstab файл.
/dev/sdb1 /ssd ext3 defaults 0 0
Сега сте готови да преместите MySQL на новия диск. Първо спрете услугата MySQL с:
# service mysqld stop
Бих ви препоръчал да спрете и Apache/nginx, за да предотвратите всякакви опити за запис в базите данни:
# service httpd stop # service nginx stop
Сега копирайте цялата MySQL директория в новото устройство:
# cp /var/lib/mysql /ssd/ -Rp
Това може да отнеме известно време в зависимост от сайта на вашите MySQL бази данни. След като този процес приключи, преименувайте MySQL директорията:
# mv /var/lib/mysql /var/lib/mysql-backup
След това ще създадем символна връзка.
# ln -s /ssd/mysql /var/lib/mysql
Сега сте готови да стартирате вашата MySQL и уеб услуга:
# service mysqld start # service httpd start # service nginx start
В този момент вашите MySQL бази данни ще бъдат достъпни от новото устройство.
Страници:1 2 3 4