MySQL є потужним відкритим кодом Система управління реляційними базами даних або коротше СУБД. Він був випущений ще 1995 року (20 років). Він використовує Мова Структурованих Запитів це, мабуть, найпопулярніший вибір для управління вмістом у базі даних. Остання версія MySQL 5.6.25 і був звільнений далі 29 травня 2015 року.
Цікавим фактом щодо MySQL є той факт, що назва походить від Майкла Віденіуса (Творець MySQL) Мій. Навіть Хоча існує багато цікавих фактів про MySQL, ця стаття покликана показати вам деякі корисні методи, які допоможуть вам керувати сервером MySQL.
В квітні 2009 проект MySQL був придбаний компанією Oracle. В результаті виклик розвивається спільнотою MySQL MariaDB було створено. Основною причиною створення форка було збереження проекту вільним відповідно до Загальнодоступної ліцензії.
Сьогодні MySQL та MariaDB є одними з найбільш (якщо не найбільш) часто використовуваних СУБД, які використовуються для веб -додатків, таких як WordPress, Joomla, Magento та інші.
Ця стаття покаже вам деякі основні, але корисні поради, як оптимізувати точну настройку продуктивності MySQL/MariaDB. Майте на увазі, що ця стаття передбачає, що у вас вже встановлено MySQL або MariaDB. Якщо вам все ще цікаво, як їх встановити у вашій системі, ви можете слідувати нашим великим посібникам тут:
Важливо: Перш ніж розпочати - не сприймайте ці пропозиції наосліп. Кожна установка MySQL унікальна і вимагає додаткового обдумування, перш ніж вносити будь -які зміни.
Що вам потрібно знати:
/etc/my.cnf
. Щоразу, коли ви змінюєте цей файл, вам потрібно буде перезапускати службу MySQL, щоб нові зміни набули чинності.Спочатку важливо це пояснити InnoDB є двигуном зберігання. MySQL та MariaDB використовують InnoDB як механізм зберігання за замовчуванням. У минулому MySQL зберігав таблиці та індекси баз даних у системному табличному просторі. Цей підхід був призначений для серверів, єдиною метою яких є обробка баз даних, а їх накопичувальний диск не використовується ні в яких інших цілях.
InnoDB забезпечує більш гнучкий підхід, і кожна інформація бази даних зберігається в .ibd
файл даних. Кожен .ibd файл являє собою власний табличний простір. Таким чином операції з базами даних, такі як “ТРУНКУВАТИ”Може бути завершено швидше, і ви також можете повернути невикористаний простір під час скидання або урізання таблиці бази даних.
Ще однією перевагою цієї конфігурації є той факт, що ви можете зберігати деякі таблиці бази даних на окремому пристрої зберігання. Це може значно покращити I/O завантажити ваші диски.
innodb_file_per_table увімкнено за замовчуванням у MySQL 5.6 і вище. Ви можете побачити це в /etc/my.cnf файл. Директива виглядає так:
innodb_file_per_table = 1.
Примітка: Ця установка працює лише з MySQL, але не з MariaDB.
Іноді читання/запис ОС може уповільнити роботу вашого сервера MySQL, особливо якщо він розташований на одному жорсткому диску. Натомість я б рекомендував використовувати окремий жорсткий диск (бажано SSD) для служби MySQL.
Щоб завершити це, вам потрібно буде приєднати новий диск до комп'ютера/сервера. Для цілей цієї статті я припускаю, що привід буде під /dev/sdb.
Наступним кроком є підготовка нового диска:
# fdisk /dev /sdb.
Тепер натисніть «n”, Щоб створити новий розділ. Далі натисніть «стор”, Щоб зробити новий розділ основним. Після цього встановіть номер розділу з 1-4. Після цього ви виберете розмір розділу. Натисніть Enter тут. На наступному кроці вам потрібно буде налаштувати розмір розділу.
Якщо ви хочете використовувати весь диск, натисніть клавішу Enter ще раз. В іншому випадку ви можете вручну встановити розмір нового розділу. Коли будете готові, натисніть «w”, Щоб написати зміни. Тепер нам потрібно буде створити файлову систему для нашого нового розділу. Це легко можна зробити за допомогою:
# mkfs.ext4 /dev /sdb1.
Тепер ми будемо монтувати наш новий розділ у папку. Я назвав свою папку "ssd”Та створено у кореневому каталозі:
# mkdir /ssd /
Ми готові змонтувати новий розділ, який ми щойно створили, у нову папку:
# mount /dev /sdb1 /ssd /
Ви можете виконати монтування при запуску, додавши наступний рядок /etc/fstab файл.
/dev /sdb1 /ssd ext3 за замовчуванням 0 0.
Тепер ви готові перенести MySQL на новий диск. Спочатку зупиніть службу MySQL за допомогою:
# сервіс mysqld stop.
Я б рекомендував вам також зупинити Apache/nginx, щоб запобігти будь -яким спробам запису в бази даних:
# сервіс httpd stop. # сервісна зупинка nginx.
Тепер скопіюйте весь каталог 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 та веб -службу:
# служба запуску mysqld. # служба httpd start. # служба запуску nginx.
У цей момент ваші бази даних MySQL будуть доступні з нового диска.