Перейти до вмісту

MySQL

Матеріал з K2 ERP Wiki

!;</syntaxhighlight>

-d mysql:8.4

WHERE email = 'test@example.com';

45.; Типові помилки новачків

</syntaxhighlight>

Backup — критично важлива частина роботи з MySQL.; |- | Enterprise

| MySQL Enterprise, HeatWave, Oracle ecosystem.; | Enterprise, large corporations, mission-critical systems.;

phpMyAdmin

{{SEO
|title=MySQL  реляційна система керування базами даних
|description=Огляд MySQL: історія, Oracle, SQL, InnoDB, storage engines, replication, transactions, індекси, JSON, MySQL Community і Enterprise, переваги, недоліки, цікаві факти та порівняння з PostgreSQL, MariaDB і SQLite.
|keywords=MySQL, SQL, RDBMS, database, relational database, Oracle, InnoDB, replication, MySQL Server, MySQL Community Edition, MySQL Enterprise Edition, MariaDB, PostgreSQL, SQLite
}}
SELECT id, name, email
|-
| Назва
| MySQL
|-
| Тип
| Реляційна платформа керування базами даних
|-
| Основна мова запитів
| SQL
|-
| Розробник / власник
| Oracle Corporation
|-
| Початкові автори
| MySQL AB, зокрема Michael Monty Widenius, David Axmark, Allan Larsson
|-
| Перший реліз
| 1995 рік
|-
| ключовий storage engine
| InnoDB
|-
| Ліцензування
| Community Edition  GPL; Enterprise Edition  комерційна
|-
| Типові ОС
| Linux, Windows, macOS, Unix-like системи
|-
| Актуальна LTS-гілка на травень 2026
| MySQL 8.4 LTS
|-
| Актуальна Innovation-гілка, за офіційними release notes
| MySQL 9.5 / 9.x Innovation releases
|}

ORM  Object-Relational Mapping.; |-
| Тип
| Client-server database.; |-
| 2010
| Oracle купує Sun Microsystems і стає власником MySQL.; |-
| SQL-функції
| Добрі, але історично менш суворі.; |-
| SQL injection  проблема фреймворку”
| Безпечний код залежить від розробника.; :contentReference [oaicite:3]{index=3}
'''MySQL HeatWave'''  це хмарна платформа Oracle навколо MySQL.; Саме з цієї причини MySQL так часто згадують поруч із PHP і WordPress.; * чи застосовується індекс;
* скільки рядків буде переглянуто;
* чи є собою full table scan;
* як функціонує join;
* де має змогу бути bottleneck.; |}

'''InnoDB'''  ключовий storage engine MySQL.; TO 'app_user'@'localhost';
== 32.; MySQL і WordPress ==

Для звичайного локального MySQL-сервера HeatWave не є собою обов'язковим, але це важлива частина сучасної Oracle MySQL-екосистеми.;</pre>

{| class="wikitable"

[[Oracle Database]]
</pre>
 +--> Replica 3
Відновлення:
!; |-
| 2000-ті
| MySQL стає важливою частиною LAMP-стеку.; SELECT *

 -p 3306:3306 \

<div style="border-left: 6px solid #2e7d32; background: #e8f5e9; padding: 12px 16px; margin: 16px 0;">

* PHP;
* MySQL або сумісну СУБД;
* web server;
* themes;
* plugins;
* wp_posts;
* wp_users;
* wp_options;
* wp_comments.; Критерій
</pre>
 id INT PRIMARY KEY AUTO_INCREMENT,
Приклад вибірки:
'''Foreign key''' — посилання на рядок в іншій таблиці.;== 18.; Реплікація ==
SELECT * FROM users WHERE email = '$email';

має змогу працювати значно швидше, якщо `email` проіндексовано.; !; Приклад:

== 47.; Корисні команди ==

9. InnoDB

</div>
WHERE active = 1;
WHERE id = 1;
[[Категорія:Open Source]]

3.; !;<syntaxhighlight lang="sql">
Приклад створення користувача:

== 26. Security ==

<syntaxhighlight lang="sql">
== 49.; Людське пояснення: чим є собою MySQL ==
 user_id INT NOT NULL,

MySQL доцільно обрати, якщо:

 created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
Він підтримує роботу:
FLUSH PRIVILEGES;

'''Replication''' надає можливість копіювати інформаційні дані з одного MySQL-сервера на інші.; |-
| CSV
| Таблиці у CSV-подібному форматі.; Окремо варто відзначити де servers у cluster реплікують інформаційні дані між members і надають fault tolerance, automated failover і elasticity.; PHP / Python / Node.js / Java / Go

</syntaxhighlight>

* індекси прискорюють читання;
* але сповільнюють вставку й актуалізація;
* займають місце;
* мають підтримуватися;
* можуть не використовуватися optimizer-ом;
* можуть бути зайвими.; Створити базу:
Для баз даних це особливо істотно.; Використовувати prepared statements.; |-
| 2026
| MySQL 8.4 LTS і 9.x Innovation-гілки залишаються актуальними напрямами розвитку.; |
 -e MYSQL_DATABASE=app \
 |
!; Спроєктувати схему.; SHOW TABLES;

== 15.; Цікавий факт: неправильний індекс має змогу бути не меншою проблемою, ніж відсутній індекс ==

MySQL підтримує роботу роботу з JSON.; Замовлення має позиції.; | Oracle.; Чому виникає
CREATE TABLE events (

</syntaxhighlight>

SET NEW.created_at = CURRENT_TIMESTAMP;
<pre>
У старіших MySQL-проєктах часто використовували '''MyISAM'''.; Сьогодні для більшості нормальних застосунків стандартний вибір — InnoDB.; MySQL
Його використовують у:

сфера застосування:
IDENTIFIED BY 'strong_password';
Підключення:

{{DISPLAYTITLE:MySQL}}

</syntaxhighlight>

Managed MySQL зменшує ручне адміністрування, але не скасовує потребу розуміти схеми, індекси, запити й backup.;<syntaxhighlight lang="sql">

MySQL схожий на старий надійний інструмент у вебмайстерні.; MySQL
SELECT name, email
Чим більше індексів, тим швидше база.; Перевірити restore.; Не завжди найкращий для кожної задачі.;<syntaxhighlight lang="sql">

<syntaxhighlight lang="sql">
Приклад `mysqldump`:
!; |-
| MySQL HeatWave
| Oracle cloud database service з аналітикою, machine learning / AI-напрямами й managed-функціями.; |-
| “Backup — це без ускладнень файл на сервері”
| Backup має змогу бути пошкоджений або застарілий.; Пояснення

MySQL надає можливість мати структуровані таблиці:

MySQL найкраще підходить для вебзастосунків, CMS, backend-сервісів, типових бізнес-систем і проєктів, де потрібна зріла, популярна й добре підтримувана реляційна база даних.; |-
| Сегмент
| Web, open source, cloud, applications.; MySQL використовують для:

);

FROM active_users;

== 27.; Базові правила безпеки MySQL ==

MySQL — це не найновіша й не найекзотичніша база даних.; 9.; {| class="wikitable"

== 7.; Реляційна модель ==

PHP / Perl / Python

* logical dump через `mysqldump`;
* physical backup;
* MySQL Enterprise Backup;
* Percona XtraBackup;
* snapshots;
* replication-based backup;
* managed cloud backups.; |-
| InnoDB — default engine
| У сучасному MySQL саме InnoDB є собою головним storage engine.;[[PostgreSQL]]
!; MySQL — це популярна реляційна платформа керування базами даних, яка стала одним із фундаментів веброзробки.;<div style="border-left: 6px solid #c62828; background: #ffebee; padding: 12px 16px; margin: 16px 0;">

  • потрібна дуже складна SQL-аналіка;
  • потрібна максимальна standards-compliance;
  • потрібні advanced PostgreSQL features;
  • потрібна embedded database без server process — тоді SQLite;
  • потрібна distributed SQL-система;
  • потрібна columnar analytics database;
  • команда хоче community fork — тоді MariaDB;
  • проєкт дуже залежить від складних constraints, custom types або extensions.; |}

MySQL підтримує роботу:

+--> Replica 2

ORM надає можливість працювати з таблицями як з об'єктами, але SQL-знання все одно дуже потрібне.; Запит: Добрий MySQL-адміністратор не без ускладнень “додає індекси”, а читає query plan.; |- | Archive | Для архівного зберігання.; |- | Розширюваність | Менша.; Реплікація корисна для:

!; |- | MySQL має Community і Enterprise editions | Community Edition безкоштовна, Enterprise має комерційні функціональні можливості й підтримку.; |- | MyISAM | Старий engine, історично важливий, але менш придатний для сучасних transactional workloads.; |- | MySQL Shell | Сучасніший shell для MySQL, JavaScript/Python/SQL modes.; |- | Складність масштабування | Великі системи потребують ретельної архітектури.; | Майже мінімальне.; |}

</syntaxhighlight>

завдяки наявності Тобто MySQL користувачі можуть не без ускладнень зберігати інформаційні дані, а оперативно знаходити зв'язки між ними.; |- | Спільнота | Частина спільноти обирає MySQL, частина MariaDB.;== 48.; Цікаві факти ==

Рекомендовані практики:

CREATE VIEW active_users AS
[[MySQL]]
'''Людське пояснення:''' якщо сайт  це магазин, то MySQL часто є собою його складом, бухгалтерською книгою і каталогом товарів одночасно.; !; !; |-
| Сумісність
| Багато спільного, але з часом є собою відмінності.; Помилка

[[Replication]]
Цей стек зробив створення сайтів дешевшим, доступнішим і масовішим.; Недолік
BEFORE INSERT ON users
== 17. JOIN ==
COMMIT;

<pre>

Через SQL можна:

* replication;
* semi-synchronous replication;
* Group Replication;
* InnoDB Cluster;
* InnoDB ClusterSet;
* ProxySQL;
* MySQL Router;
* managed database services;
* backup + failover;
* cloud-native HA.; Ці механізми дозволяють переносити частину логіки на рівень бази даних.;</pre>

<syntaxhighlight lang="sql">

<pre>

users.txt

</pre>
!; |-
| Власник
| Oracle.; |
SELECT id, name, email
== 6. SQL ==
Приклад:
</div>

Приклад:

* читання з replica;
* backup;
* reporting;
* high availability;
* disaster recovery;
* міграцій;
* географічного розподілу.; !;

!; |- | Реплікація потребує досвіду | Неправильна replication setup має змогу створити проблеми.; |- | Одночасні користувачі

| Краще для багатокористувацьких систем.;
== 46.; Базовий чеклист для MySQL-проєкту ==

Популярні підходи:

<syntaxhighlight lang="sql">
== 44.; Коли MySQL має змогу бути не найкращим вибором ==
<pre>
InnoDB підтримує роботу ACID-властивості.; Перевага
Linux Server

Типовий стек:

Redis
== 33.; MySQL і ORM ==
[[MySQL Workbench]]

CREATE USER 'app_user'@'localhost'

UPDATE accounts
== 36.; MySQL і cloud ==
{| class="wikitable"

</div>

'''Чому це цікаво:''' MySQL став майже “мовою за замовчуванням” для класичного вебу: WordPress, phpBB, ранні LAMP-сервери, хостинги, PHP-застосунки й тисячі сайтів роками будувалися навколо MySQL.; FOREIGN KEY (user_id) REFERENCES users(id)
== 10.; Цікавий факт: колись MySQL часто асоціювали з MyISAM, але сьогодні центральний герой  InnoDB ==

== 52.; Висновок ==

Приклад:

Правильний підхід  prepared statements у коді застосунку.;[[Система керування базами даних]]

);

mysql -u root -p my_database < backup.sql
</pre>

Якщо сталася помилка:
 -e MYSQL_ROOT_PASSWORD=secret \
<syntaxhighlight lang="sql">

Описати таблицю:

'''SQL'''  це мова запитів до реляційних баз даних.;<syntaxhighlight lang="sql">
2.; |}

products

<syntaxhighlight lang="sql">

MySQL має концепцію storage engines.; 10.; Її головні переважні аспекти:
SELECT *
Показати таблиці:
'''Primary key'''  унікальний ідентифікатор рядка.; | Дуже сильна SQL і extensibility.; * користувачі;
* сесії;
* товари;
* замовлення;
* платежі;
* коментарі;
* конфігурація;
* logs;
* контент;
* CMS-дані.; Рік

WHERE country = 'Ukraine';

</syntaxhighlight>

  • Hibernate;
  • SQLAlchemy;
  • Django ORM;
  • Prisma;
  • Sequelize;
  • TypeORM;
  • Laravel Eloquent;
  • ActiveRecord.; Oracle Database

payments docker run --name mysql-dev \ |- | Походження | Оригінальний MySQL під Oracle.; Пояснення

Погана ідея:

GRANT SELECT, INSERT, UPDATE, DELETE

total DECIMAL(10, 2) NOT NULL,

WHERE id = 2;

SQL-приклад: MySQL можна уявити як дуже організовану шафу з таблицями.;

MySQL уже давно не без ускладнень “база для PHP-сайтів”.; SQL injection — це вразливість, коли користувацький ввід небезпечно вставляється в SQL-запит.; Приклад: Транзакція — це група операцій, яка має виконатися як єдине ціле.; | Розділяти сутності й використовувати зв'язки.; Обрати InnoDB.; Типові задачі:

FROM users

Офіційна документація MySQL 8.4 описує InnoDB як general-purpose storage engine, який балансує reliability і performance; у MySQL 8.4 InnoDB є собою default storage engine.;== Див.; 54.; додатково ==

13. ACID

Приклади: payments.txt Це означає, що інформаційні дані зберігаються в таблицях, а таблиці можуть бути пов'язані між собою.; MySQL має довгу історію і став одним із головних символів open source вебу.; |-

phpMyAdmin - 1990-ті }

JOIN надає можливість об'єднувати інформаційні дані з кількох таблиць.; :contentReference [oaicite:5]{index=5}

53.; Джерела

Це корисно, коли частина даних має гнучку структуру.; |}

{| class="wikitable"

FROM users
SELECT users.name, orders.total
orders.txt
<syntaxhighlight lang="sql">
|-
| Імідж
| Популярна веб-СУБД, проста й масова.;<syntaxhighlight lang="sql">
<syntaxhighlight lang="sql">
</syntaxhighlight>
</syntaxhighlight>
Приклад:
!;<syntaxhighlight lang="sql">

== 29. Backup ==
</syntaxhighlight>
== 30.; Цікавий факт: backup без перевірки відновлення — це не backup, а надія ==

</syntaxhighlight>

це одна з найвідоміших реляційних систем керування базами даних, яка застосовується; додатково реалізовано вебзастосунків, CMS, інтернет-магазинів, SaaS, внутрішніх сервісів і багатьох backend-систем виступає ключовою рисою сайтів забезпечується через '''Головна ідея:''' MySQL.; Без індексу база має змогу читати багато рядків.; {| class="wikitable"

MySQL дуже часто застосовують, коли потрібно у вебзастосунках.; Критерій
'''Індекс''' — це структура, яка прискорює пошук.; |-
| Вартість
| є собою Community Edition.; |-
| C
| Consistency
| інформаційні дані переходять з одного правильного стану в інший.; :contentReference [oaicite:1]{index=1} MySQL 9.5.0 вийшов 21 жовтня 2025 року як Innovation Release.; | Значно складніша й потужніша enterprise-платформа.; * не використовувати root-користувача для застосунку;
* давати мінімальні потрібні права;
* використовувати сильні паролі;
* обмежувати host доступу;
* не відкривати MySQL у публічний інтернет без потреби;
* використовувати TLS для мережевих з'єднань;
* робити backup;
* оновлювати сервер;
* стежити за logs;
* використовувати prepared statements;
* захищатися від SQL injection.; SQLite

products.txt

11.; |-
| Складність
| Простішій старт.; |-
| Простий старт
| Часто простіший для новачків.; MariaDB

== 24.; Stored procedures, functions і triggers ==

* Oracle MySQL Documentation
* MySQL 8.4 Reference Manual
* MySQL 8.4 Release Notes
* MySQL 9.x Release Notes
* MySQL InnoDB Documentation
* MySQL Replication Documentation
* MySQL Enterprise Edition Documentation
* Oracle MySQL HeatWave Documentation
* MySQL Shell Documentation
* MySQL Workbench Documentation

!; Значення

<pre>

Але його знають, його підтримують хостинги, під нього є собою документація, ORM, GUI, backup tools, cloud services і величезний досвід спільноти.; Подія

== 28. SQL injection ==
SET balance = balance + 100
!; |-
| MySQL Workbench
| Графічний інструмент для адміністрування, моделювання й запитів.; | Комерційна enterprise-СУБД.; |-
| NDB
| Engine для MySQL Cluster у спеціальних сценаріях.; |-
| “База сама буде швидкою”
| MySQL популярний, але не магічний.; '''істотно:''' MySQL — це не мова програмування і не операційна платформа.; |-
| Типові користувачі
| Розробники, вебпроєкти, SaaS, CMS.; |-
| 2024
| MySQL 8.4 стає LTS-гілкою.; USE app_db;
7.; CREATE INDEX idx_users_email ON users(email);

Вона орієнтована на:

Приклад створення таблиці: MySQL Enterprise Edition описує InnoDB Cluster як high-availability solution.; :contentReference [oaicite:6]{index=6} Офіційна документація зазначає, що MySQL replication based on the binary log, куди MySQL записує SQL statements, що змінюють інформаційні дані; транзакції, які failed або rolled back, не записуються в binary log і не надсилаються replicas.; MySQL Офіційна документація Oracle описує MySQL як database management system: щоб додавати, отримувати й обробляти інформаційні дані в базі, потрібна платформа керування базами даних, така як MySQL Server.; |-

Сумісність - Реплікація MySQL базується на binary log Source записує зміни, replicas їх читають і застосовують.; І ставити запити:

START TRANSACTION;

Не завжди ідеальний.; Додати гроші на рахунок B.; Edition

data JSON NOT NULL

Багато адміністраторів роблять backup.; |-

MariaDB виникла як fork MySQL Частина спільноти хотіла незалежніший еволюція після переходу MySQL до Oracle.; ON app_db.*

У 2026 році MySQL залишається однією з найважливіших реляційних баз даних.; !; |}


== 2.; Коротка характеристика ==

* managed MySQL;
* analytics;
* machine learning;
* cloud workloads;
* high performance;
* інтеграцію з Oracle Cloud;
* enterprise-сценарії.; Не можна, щоб перший крок виконався, а другий — ні.; | Трохи складніший, але дуже послідовний.; |-
| “Root user для застосунку — нормально”
| Так простіше на старті.; |-
| Oracle-власність викликає дискусії
| Частина спільноти через це обирає MariaDB або PostgreSQL.; Офіційна документація пояснює, що MySQL replication надає можливість копіювати інформаційні дані з одного database server, який називається source, на один або кілька servers, які називаються replicas; replication за замовчуванням asynchronous.; !; |}

 id INT PRIMARY KEY AUTO_INCREMENT,

== 4.; історичний розвиток ==

* потрібна популярна реляційна база;
* застосунок web-oriented;
* застосовується WordPress або PHP-екосистема;
* команда вже знає MySQL;
* потрібна проста й зріла СУБД;
* потрібна managed MySQL у cloud;
* потрібна replication;
* потрібні звичайні CRUD-застосунки;
* потрібна сумісність з багатьма ORM;
* не потрібні дуже специфічні PostgreSQL-можливості.; * вебзастосунках;
* WordPress;
* SaaS;
* CMS;
* e-commerce;
* cloud;
* managed databases;
* Docker-based development;
* enterprise-системах;
* навчанні SQL;
* backend-сервісах;
* класичних і сучасних web-стеках.; 1.;</syntaxhighlight>

!; З індексом вона швидше знаходить потрібні інформаційні дані.; У сучасних застосунках MySQL часто використовують через ORM.; |}

== 38.; Недоліки MySQL ==

== 34.; MySQL Shell і Workbench ==
MySQL став базою даних для:
== 42. MySQL vs Oracle Database ==
'''MySQL''' — це реляційна платформа керування базами даних, або '''RDBMS'''.; |-
| D
| Durability
| Після commit інформаційні дані мають зберегтися навіть після збою.; Новачки часто думають:

== 20. High availability ==
Класичний веб 2000-х часто будувався на LAMP:
[[Oracle]]
Для високої доступності MySQL використовують різні підходи:
Приклади:
<syntaxhighlight lang="sql">

 id INT PRIMARY KEY AUTO_INCREMENT,

<pre>

 name VARCHAR(100) NOT NULL,

А справжній backup існує лише тоді, коли ви знаєте:

5.; |-
| 2025
| MySQL 9.5 виходить як Innovation Release.; |-
| Веб
| Дуже популярний у CMS і LAMP.;== 51.; MySQL у сучасній інфраструктурі ==
Storage engine відповідає за те, як саме таблиця зберігає інформаційні дані.;

</syntaxhighlight>

Приклад trigger:

SHOW DATABASES;
'''EXPLAIN''' показує, як MySQL планує виконати запит.; orders

mysql -u root -p
Вона потрібна для зберігання, пошуку, зміни й організації структурованих даних.; |-
| Власник / еволюція
| Oracle.; | Embedded database library.; * використовувати актуальну підтримувану версію;
* не відкривати порт 3306 у публічний інтернет без потреби;
* створювати окремих користувачів для застосунків;
* давати мінімальні права;
* використовувати TLS для віддалених з'єднань;
* використовувати prepared statements;
* регулярно робити backup;
* перевіряти restore;
* увімкнути slow query log для аналізу;
* стежити за security updates;
* не зберігати паролі у відкритому коді;
* використовувати secrets management у production.; |-
| Adminer
| Легший вебінтерфейс для роботи з базами.; |-
| I
| Isolation
| Одночасні транзакції не повинні хаотично заважати одна одній.; {| class="wikitable"

== 8.; Primary key і foreign key ==

Він був простішим і швидким для деяких read-heavy сценаріїв, але не мав повноцінних транзакцій і foreign keys.; | Великі enterprise-системи, банки, ERP, критичні бази.; !; Насправді:
[[Категорія:Бази даних]]
1.; SET balance = balance - 100

Надання прав:

Ключові етапи:

== 19. Binary log ==
{| class="wikitable"
!; |-
| Масштаб
| Сайти, backend, multi-user systems.; | Дуже сильна JSONB-екосистема.; MySQL replication тісно пов'язана з binary log.; Рекомендовані практики:

Приклад:

* транзакції;
* foreign keys;
* row-level locking;
* crash recovery;
* MVCC;
* ACID-властивості;
* хорошу надійність для більшості сучасних застосунків.;[[Docker]]

<pre>

</div>

'''істотно:''' захист від SQL injection — одна з базових вимог безпеки для будь-якого застосунку, який функціонує з MySQL.; {| class="wikitable"

* не завжди найкращий вибір для складної аналітики;
* потребує уважного проєктування схеми;
* продуктивність сильно залежить від індексів і запитів;
* Oracle-власність викликає дискусії;
* replication і HA потребують досвіду;
* для деяких advanced SQL-сценаріїв PostgreSQL має змогу бути сильнішим.; Значення
== 37.; переважні аспекти MySQL ==
MySQL має власну систему користувачів і прав.; MySQL

Він знайомий, поширений, добре підтриманий і достатньо простий, щоб новачок міг оперативно створити першу таблицю, але достатньо серйозний, щоб працювати в реальних продуктах.; |-
| 2008
| Sun Microsystems купує MySQL AB.; {| class="wikitable"

WHERE email = 'test@example.com';

* Oracle Cloud MySQL HeatWave;
* Amazon RDS for MySQL;
* Amazon Aurora MySQL-compatible;
* Google Cloud SQL for MySQL;
* Azure Database for MySQL;
* DigitalOcean Managed MySQL;
* Aiven for MySQL;
* інші provider-и.; :contentReference [oaicite:2]{index=2}
Простими словами:
Source

== 31.; MySQL у веброзробці ==

__TOC__

VALUES ('Oksana', 'oksana@example.com');

== 14.; Індекси ==
Менше адміністраторів регулярно перевіряють restore.; |-
| Не завжди найкращий для складної аналітики
| Для heavy analytics часто обирають інші системи.; | Локальні додатки, mobile, small apps, embedded.; |-
| Адміністрування
| Потрібне.; | Fork MySQL, створений частиною оригінальної спільноти.;<pre>

[[SQLite]]

Приклад:

Linux

* де він лежить;
* чи він повний;
* чи він не пошкоджений;
* чи можна його відновити;
* скільки часу це займе;
* чи не втрачено важливі транзакції.;<syntaxhighlight lang="sql">

== 16. EXPLAIN ==

[[InnoDB]]

6.; | Потужна, standards-oriented, feature-rich СУБД.; Показати бази:

MySQL часто запускають у Docker для розробки.; JOIN orders ON orders.user_id = users.id;

Простими словами:
</syntaxhighlight>
!; Перевірити slow query log.; |-
| InnoDB
| Надійний transactional storage engine.; Замість хаотичних файлів:
|-
| 1995
| З'являється перша реліз MySQL.; :contentReference [oaicite:4]{index=4}

[[Веброзробка]]

12.; |}

== 41. MySQL vs SQLite ==

== 35.; MySQL і Docker ==

<pre>

FROM events;
== 1.; Загальний характеристика ==
Типова схема:
<pre>

Це сприяє зрозуміти:

JSON у MySQL не замінює реляційну модель, але корисний для змішаних сценаріїв.; |-
| 2018
| MySQL 8.0 стає важливою modern-гілкою з новими SQL і JSON-можливостями.; Додати primary keys.; !; |-
| Реплікація
| є собою зрілі механізми replication і HA-сценарії.; Характеристика
== 40. MySQL vs MariaDB ==
EXPLAIN
Його сила в іншому.; |-
| MySQL застосовується WordPress
| Це сильно вплинуло на його масову популярність.; характеристика

== 23.; MySQL і JSON ==

 +--> order_items

Для production Docker теж можливий, але потрібно уважно налаштовувати:
<syntaxhighlight lang="sql">
</syntaxhighlight>
|-
| mysql client
| Класичний командний замовник.; {| class="wikitable"

[[RDBMS]]

Приклад вставки:

Головні обмеження:

MySQL Community Edition Безкоштовна open source-версія MySQL.; характеристика ; MySQL
+--> products

</syntaxhighlight>

11. Storage engines

Це одна з причин, чому MySQL став таким масовим: WordPress сам по собі живить величезну частину вебу.; Це надає можливість MySQL підтримувати зв'язки між таблицями.; |-

MySQL Enterprise Edition Потрібні нормальна схема, індекси й запити.;</syntaxhighlight>

MySQL

Популярність class="wikitable"

FROM users

Інструменти:
!; |}

8.; |-
| MySQL належить Oracle
| Oracle отримала MySQL після придбання Sun Microsystems.; Додати індекси під реальні запити.; Додати foreign keys, де потрібно.; Критерій
ROLLBACK;
SELECT JSON_EXTRACT(data, '$.user_id')

mysqldump -u root -p my_database > backup.sql

== 5.; Цікавий факт: MySQL був серцем LAMP-стеку ==

<syntaxhighlight lang="sql">

);

ORDER BY created_at DESC;

</pre>
Позиції посилаються на товари.;
; характеристика
  • вебсайтів;
  • CMS;
  • блогів;
  • інтернет-магазинів;
  • CRM;
  • ERP;
  • SaaS-сервісів;
  • API;
  • мобільних backend-ів;
  • аналітичних систем малого й середнього масштабу;
  • внутрішніх бізнес-застосунків;
  • навчання SQL;
  • класичного LAMP-стеку.; | Створювати окремого користувача з мінімальними правами.; |-
MySQL має LTS і Innovation-релізи }

FROM users

users

- Інструменти є собою CLI, Workbench, phpMyAdmin, connectors, cloud services.;</syntaxhighlight> Дуже популярний у сучасному backend/SaaS.; :contentReference [oaicite:0]{index=0}
FROM users
users
InnoDB  сучасна епоха транзакцій, цілісності й надійності.; |-
| Простий старт
| без зайвих зусиль встановити й почати писати SQL.; Як правильно думати

* створювати таблиці;
* додавати інформаційні дані;
* змінювати інформаційні дані;
* видаляти інформаційні дані;
* шукати інформаційні дані;
* об'єднувати таблиці;
* створювати індекси;
* керувати правами;
* робити транзакції.;== 25. Views ==
MyISAM  стара епоха простого вебу.; Зняти гроші з рахунку A.; CREATE DATABASE app_db;

* volumes;
* backups;
* memory;
* filesystem;
* upgrades;
* monitoring;
* replication;
* security.; Запит:
|-
| MySQL є собою частиною класичного LAMP-стеку
| Linux, Apache, MySQL і PHP зробили веброзробку масовою.; Це сервер баз даних, з яким працюють через SQL, клієнтські бібліотеки, GUI-інструменти, ORM, backend-код або командний рядок.; | Окремий сервер не потрібен.; |-
| “Можна все зберігати в одній таблиці”
| Новачки уникають нормалізації.; {| class="wikitable"
<div style="border-left: 6px solid #f57c00; background: #fff3e0; padding: 12px 16px; margin: 16px 0;">
Replica читає ці зміни.; |-
| A
| Atomicity
| Транзакція виконується в цілому або не виконується.; Створити окремого database user.; | Використовувати prepared statements.;

</syntaxhighlight>

email VARCHAR(255) UNIQUE NOT NULL,

4.; | Обмеженіше для write-heavy multi-user.; MySQL має змогу бути не найкращим варіантом, якщо:

39. MySQL vs PostgreSQL

|-
| InnoDB
| ключовий сучасний engine для транзакційних таблиць.; | MariaDB Enterprise ecosystem.; |-
| Managed services
| MySQL доступний майже у всіх великих хмарах.; UPDATE accounts

== 50.; Безпека ==

== 21.; MySQL Community Edition і Enterprise Edition ==

!; характеристика

== 22. MySQL HeatWave ==

Apache

<pre>

* stored procedures;
* functions;
* triggers;
* events;
* views.; Вибрати базу:

[[PHP]]

[[LAMP]]
!; | MariaDB Foundation / MariaDB plc ecosystem.; MySQL 8.4 має окрему LTS-гілку, а реліз MySQL 8.4.9 вийшов 21 квітня 2026 року.; |}

== 12.; Транзакції ==

CREATE TRIGGER before_user_insert
DESCRIBE users;
Типовий WordPress-сайт має:
|-
| Не завжди найстрогіший SQL
| Історично MySQL мав менш сувору поведінку, ніж деякі конкуренти.; |-
| 2010-ті
| MariaDB розвивається як fork MySQL.; | Індекси мають ціну й потребують аналізу.; |-
| Сервер
| Потрібен MySQL Server.; Engine
CREATE TABLE users (
MySQL доступний як managed database у багатьох хмарах:

SELECT *

Replica повторює їх у себе.; Інструмент

[[Binary log]]
[[Backend]]
INSERT INTO users (name, email)
!; !; характеристика

[[WordPress]]

Це одна з головних сил реляційної моделі.;== 43.; Коли варто використовувати MySQL ==
CREATE TABLE orders (
Nginx / Apache
'''View'''  це віртуальна таблиця на основі SQL-запиту.; |-
| JSON
| є собою JSON-підтримка.; |-
| Вебекосистема
| Добре підходить для сайтів, CMS і backend-застосунків.; Це велика програмний пакет з Community Edition, Enterprise Edition, managed cloud services, replication, HA-рішеннями, JSON-функціями й активним розвитком.;

Після цього можна писати:

+--> orders

База даних

  • простий старт;
  • величезна популярність;
  • SQL;
  • InnoDB;
  • транзакції;
  • replication;
  • індекси;
  • багато інструментів;
  • cloud availability;
  • супровід багатьох мов і ORM;
  • сильна роль у WordPress і LAMP-екосистемі.; Приклад:

WordPress історично дуже тісно пов'язаний з MySQL.;MariaDB

  • блогів;
  • форумів;
  • CMS;
  • маленьких інтернет-магазинів;
  • хостингів;
  • студентських проєктів;
  • перших стартапів;
  • внутрішніх панелей адміністрування.; |-
Performance залежить від схеми Погані індекси й запити можуть зламати швидкість.;

FOR EACH ROW Source записує зміни в binary log.; Планувати актуалізація.; | Дуже висока.; PostgreSQL

FROM users <syntaxhighlight lang="sql">

MySQL є собою реляційною СУБД.; Літера користувач системи має замовлення.; | Регулярно тестувати restore.; Критерій

3.; MySQL простими словами

- “Індекси треба ставити всюди” Індекси здаються безкоштовними.; Факт

2.; |-

MEMORY Таблиці в пам'яті.; +--> Replica 1
SQL