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

MySQL

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

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

Не завжди ідеальний. Надання прав: WHERE email = 'test@example.com';


data JSON NOT NULL

SET NEW.created_at = CURRENT_TIMESTAMP; INSERT INTO users (name, email) EXPLAIN показує, як MySQL планує виконати запит. Літера Приклад: CREATE VIEW active_users AS

MySQL став базою даних для:

  • чи застосовується для індекс;
  • скільки рядків буде переглянуто;
  • чи виступає як full table scan;
  • як функціонує join;
  • де здатна бути bottleneck.</syntaxhighlight>

Source Вона орієнтована на: Nginx / Apache |- | 1995 | З'являється перша реліз системи MySQL. Налаштувати backup. Критерій Чим більше індексів, тим швидше база. +--> Replica 1 MySQL — це не найновіша й не найекзотичніша база даних. ORM дає можливість працювати з таблицями як з об'єктами, але SQL-знання все одно дуже потрібне. Налаштувати monitoring. |- | I | Isolation | Одночасні транзакції не повинні хаотично заважати одна одній. |- | Не завжди найкращий для складної аналітики | Для heavy analytics часто обирають інші системи. |- | Розширюваність | Менша. Критерій

23. MySQL і JSON

SELECT users.name, orders.total

Apache

Відновлення:

</syntaxhighlight>

19. Binary log

10. {| class="wikitable"

payments.txt

25. Views

FROM active_users;

-p 3306:3306 \
Новачки часто думають:
:contentReference [oaicite:6]{index=6}
  • PHP;
  • MySQL або сумісну СУБД;
  • web server;
  • themes;
  • plugins;
  • wp_posts;
  • wp_users;
  • wp_options;
  • wp_comments. | Embedded database library. Рік
Приклад `mysqldump`: - InnoDB Надійний transactional storage engine. Edition

Замовлення має позиції. Приклад:

InnoDB підтримує ACID-властивості. Чому виникає products

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

24. Stored procedures, functions і triggers

12. |}

COMMIT;

<syntaxhighlight lang="sql">
Приклад trigger:
== 2. Коротка характеристика ==
InnoDB — сучасна епоха транзакцій, цілісності й надійності. '''критично:''' MySQL — це не мова програмування і не операційна платформа. | Локальні додатки, mobile, small apps, embedded. Значення
Рекомендовані практики:
JSON у MySQL не замінює реляційну модель, але корисний для змішаних сценаріїв. |-
| 2026
| MySQL 8.4 LTS і 9.x Innovation-гілки залишаються актуальними напрямами розвитку. |-
| 2024
| MySQL 8.4 стає LTS-гілкою. Значення

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

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

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

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

);

FROM users
Типові задачі:
Інструменти:
Це оптимізує зрозуміти:
IDENTIFIED BY 'strong_password';
<div style="border-left: 6px solid #f57c00; background: #fff3e0; padding: 12px 16px; margin: 16px 0;">
! Але його знають, його підтримують хостинги, під нього виступає як документація, ORM, GUI, backup tools, cloud services і величезний досвід спільноти. |-
| SQL-функції
| Добрі, але історично менш суворі. | Трохи складніший, але дуже послідовний.[[Oracle Database]]

 +--> order_items
У 2026 році MySQL залишається однією з найважливіших реляційних баз даних. );
Replica повторює їх у себе. MySQL здатна бути не найкращим варіантом, якщо:

PHP / Perl / Python

<pre>

== 17. JOIN ==

* простий старт;
* величезна популярність;
* SQL;
* InnoDB;
* транзакції;
* replication;
* індекси;
* багато інструментів;
* cloud availability;
* технічна підтримка багатьох мов і ORM;
* сильна роль у WordPress і LAMP-екосистемі. | Обмеженіше для write-heavy multi-user. MySQL дає можливість мати структуровані таблиці:

Backup — критично важлива частина роботи з MySQL. | Регулярно тестувати restore.Replication

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

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
Потрібні нормальна схема, індекси й запити.== 51. MySQL у сучасній інфраструктурі ==

MySQL можна уявити як дуже організовану шафу з таблицями. 9. MySQL 8.4 має окрему LTS-гілку, а реліз MySQL 8.4.9 вийшов 21 квітня 2026 року. Він знайомий, поширений, добре підтриманий і достатньо простий, щоб новачок міг оперативно створити першу таблицю, але достатньо серйозний, щоб працювати в реальних продуктах. |-

2010-ті MariaDB розвивається як fork MySQL. Приклад:

SELECT id, name, email Запит: users.txt

22. MySQL HeatWave

mysql -u root -p </syntaxhighlight>

CREATE TABLE events (

Запит:

orders

  • де він лежить;
  • чи він повний;
  • чи він не пошкоджений;
  • чи можна його відновити;
  • скільки часу це займе;
  • чи не втрачено важливі транзакції. Storage engine відповідає за те, як саме таблиця зберігає інформаційні дані. * читання з replica;
  • backup;
  • reporting;
  • high availability;
  • disaster recovery;
  • міграцій;
  • географічного розподілу. |-
“Можна все зберігати в одній таблиці” Значно складніша й потужніша enterprise-платформа. |- Тип - Веб Дуже популярний у CMS і LAMP. Подія

18. Реплікація

MySQL підтримує роботу з JSON. Для production Docker теж можливий, але потрібно уважно налаштовувати: MySQL часто запускають у Docker для розробки. SEO-опис

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

“SQL injection — проблема фреймворку” Великі enterprise-системи, банки, ERP, критичні бази. USE app_db;

Показати бази:

Створити базу:
Офіційна документація пояснює, що MySQL replication дає можливість копіювати інформаційні дані з одного database server, який називається source, на один або кілька servers, які називаються replicas; replication за замовчуванням asynchronous.== 35. MySQL і Docker ==

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

Позиції посилаються на товари. | Майже мінімальне.</syntaxhighlight>

MySQL

Його сила в іншому. це одна з найвідоміших реляційних систем керування базами даних, яка застосовується для; так само реалізовано вебзастосунків, CMS, інтернет-магазинів, SaaS, внутрішніх сервісів і багатьох backend-систем виступає ключовою рисою сайтів забезпечується через Головна ідея: MySQL.== 47. Корисні команди ==

RDBMS

41. MySQL vs SQLite

Простими словами:

  • stored procedures;
  • functions;
  • triggers;
  • events;
  • views. 4. Окремо варто відзначити де servers у cluster реплікують інформаційні дані між members і надають fault tolerance, automated failover і elasticity. |}

Правильний підхід — prepared statements у коді застосунку. Використовувати prepared statements. SEO-опис

UPDATE accounts

'''критично:''' захист від SQL injection — одна з базових вимог безпеки для будь-якого застосунку, який функціонує з MySQL. |-
| MySQL Shell
| Сучасніший shell для MySQL, JavaScript/Python/SQL modes. | Потужна, standards-oriented, feature-rich СУБД. | MariaDB Foundation / MariaDB plc ecosystem. | Окремий сервер не потрібен. |-
| MySQL HeatWave
| Oracle cloud database service з аналітикою, machine learning / AI-напрямами й managed-функціями. ! |-
| Enterprise
| MySQL Enterprise, HeatWave, Oracle ecosystem. Характеристика

== 49. Людське пояснення: чим виступає як MySQL ==

* потрібна популярна реляційна база;
* застосунок web-oriented;
* застосовується для WordPress або PHP-екосистема;
* команда вже знає MySQL;
* потрібна проста й зріла СУБД;
* потрібна managed MySQL у cloud;
* потрібна replication;
* потрібні звичайні CRUD-застосунки;
* потрібна сумісність з багатьма ORM;
* не потрібні дуже специфічні PostgreSQL-можливості. :contentReference [oaicite:0]{index=0}
== 5. Цікавий факт: MySQL був серцем LAMP-стеку ==
SELECT *
[[WordPress]]
FROM users

Типовий WordPress-сайт має:

<pre>
== 46. Базовий чеклист для MySQL-проєкту ==
BEFORE INSERT ON users

</syntaxhighlight>

<syntaxhighlight lang="sql">

* не використовувати root-користувача для застосунку;
* давати мінімальні потрібні права;
* використовувати сильні паролі;
* обмежувати host доступу;
* не відкривати MySQL у публічний інтернет без потреби;
* використовувати TLS для мережевих з'єднань;
* робити backup;
* оновлювати сервер;
* стежити за logs;
* використовувати prepared statements;
* захищатися від SQL injection. * logical dump через `mysqldump`;
* physical backup;
* MySQL Enterprise Backup;
* Percona XtraBackup;
* snapshots;
* replication-based backup;
* managed cloud backups. SET balance = balance - 100

mysqldump -u root -p my_database > backup.sql

<syntaxhighlight lang="sql">
== 9. InnoDB ==
! Приклади:

! Це велика ERP-платформа з Community Edition, Enterprise Edition, managed cloud services, replication, HA-рішеннями, JSON-функціями й активним розвитком. Redis

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

[[Backend]]

Для баз даних це особливо критично.[[phpMyAdmin]]

{| class="wikitable"

<syntaxhighlight lang="sql">

<syntaxhighlight lang="sql">

10. Цікавий факт: колись MySQL часто асоціювали з MyISAM, але сьогодні провідний герой — InnoDB

Приклад створення таблиці: FROM users

Його використовують у:
<pre>

'''MySQL HeatWave''' — це хмарна платформа Oracle навколо MySQL. Додати індекси під реальні запити.<syntaxhighlight lang="sql">
Показати таблиці:
{| class="wikitable"
);
== 14. Індекси ==

через Тобто MySQL користувачі можуть не без зусиль зберігати інформаційні дані, а оперативно знаходити зв'язки між ними. Не завжди найкращий для кожної задачі. Факт

* потрібна дуже складна SQL-аналіка;
* потрібна максимальна standards-compliance;
* потрібні advanced PostgreSQL features;
* потрібна embedded database без server process — тоді SQLite;
* потрібна distributed SQL-система;
* потрібна columnar analytics database;
* команда хоче community fork — тоді MariaDB;
* проєкт дуже залежить від складних constraints, custom types або extensions. :contentReference [oaicite:5]{index=5}
Типова схема:

ROLLBACK;

28. SQL injection

Реплікація корисна для:

+--> Replica 3 Через SQL можна:
== 7. Реляційна модель ==

! SEO-опис

<syntaxhighlight lang="sql">
ORDER BY created_at DESC;
Source записує зміни в binary log. | Fork MySQL, створений частиною оригінальної спільноти. '''Людське пояснення:''' якщо сайт — це магазин, то MySQL часто виступає як його складом, бухгалтерською книгою і каталогом товарів одночасно. ! |-
| Сумісність
| Багато спільного, але з часом виступає як відмінності.</div>
PHP / Python / Node.js / Java / Go
[[Система керування базами даних]]
SET balance = balance + 100
 user_id INT NOT NULL,
MySQL найкраще підходить для вебзастосунків, CMS, backend-сервісів, типових бізнес-систем і проєктів, де потрібна зріла, популярна й добре підтримувана реляційна база даних. MySQL
Не можна, щоб перший крок виконався, а другий — ні. PostgreSQL

FROM users
Погана ідея:
8. {| class="wikitable"
Він був простішим і швидким для деяких read-heavy сценаріїв, але не мав повноцінних транзакцій і foreign keys. :contentReference [oaicite:3]{index=3}
{| class="wikitable"
Її головні конкурентні переваги:
|-
| Не завжди найстрогіший SQL
| Історично MySQL мав менш сувору поведінку, ніж деякі конкуренти. |}

! |-
| масштаб бізнесу
| Сайти, backend, multi-user systems. Перевірити restore. ! !== 53. Джерела ==
MySQL підтримує:
[[Веброзробка]]
MySQL схожий на старий надійний інструмент у вебмайстерні. Перевірити slow query log. Офіційна документація зазначає, що MySQL replication based on the binary log, куди MySQL записує SQL statements, що змінюють інформаційні дані; транзакції, які failed або rolled back, не записуються в binary log і не надсилаються replicas. |-
| Реплікація
| виступає як зрілі механізми replication і HA-сценарії. Пояснення

WHERE id = 1;

MyISAM — стара епоха простого вебу.<div style="border-left: 6px solid #2e7d32; background: #e8f5e9; padding: 12px 16px; margin: 16px 0;">

! |}

11. Офіційна документація Oracle описує MySQL як database management system: щоб додавати, отримувати й опрацьовувати інформаційні дані в базі, потрібна платформа керування базами даних, така як MySQL Server. Помилка
Рекомендовані практики:
ON app_db.*
Імідж - Oracle-власність викликає дискусії Частина спільноти через це обирає MariaDB або PostgreSQL.== 26. Security ==
name VARCHAR(100) NOT NULL,

42. MySQL vs Oracle Database

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

JSON виступає як JSON-підтримка. Сьогодні для більшості нормальних застосунків стандартний вибір — InnoDB. Приклад:

Managed MySQL зменшує ручне адміністрування, але не скасовує потребу розуміти схеми, індекси, запити й backup. * 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

</syntaxhighlight>
Він підтримує:
Це одна з головних сил реляційної моделі. MariaDB

'''SQL injection''' — це вразливість, коли користувацький ввід небезпечно вставляється в SQL-запит. mysql -u root -p my_database < backup.sql

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

6. Пояснення

}

29. Backup

+--> products
Транзакція — це група операцій, яка має виконатися як єдине ціле. | MariaDB Enterprise ecosystem.
== 37. конкурентні переваги MySQL ==

Без індексу база здатна читати багато рядків. |-
| Простий старт
| швидко встановити й почати писати SQL. |-
| MEMORY
| Таблиці в пам'яті. |-
| Вебекосистема
| Добре підходить для сайтів, CMS і backend-застосунків. |-
| “Backup — це без зусиль файл на сервері”
| Backup здатна бути пошкоджений або застарілий. |-
| Managed services
| MySQL доступний майже у всіх великих хмарах. |-
| Популярність
| Дуже багато документації, прикладів і спеціалістів. '''Індекс''' — це структура, яка прискорює пошук. Додати foreign keys, де потрібно. |-
| “Індекси треба ставити всюди”
| Індекси здаються безкоштовними. Інструмент
<syntaxhighlight lang="sql">
users
== Див. 54. так само ==
|-
| Сегмент
| Web, open source, cloud, applications. |-
| Adminer
| Легший вебінтерфейс для роботи з базами. |}

Приклад:

У старіших MySQL-проєктах часто використовували '''MyISAM'''. MySQL має власну систему користувачів і прав. Перевага
! SELECT * FROM users WHERE email = '$email';
  • 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-и. Насправді:

WHERE id = 2;

  • Hibernate;
  • SQLAlchemy;
  • Django ORM;
  • Prisma;
  • Sequelize;
  • TypeORM;
  • Laravel Eloquent;
  • ActiveRecord. |}

Підключення:

MySQL виступає як реляційною СУБД. | Створювати окремого користувача з мінімальними правами. |-

NDB Engine для MySQL Cluster у спеціальних сценаріях.</syntaxhighlight>
total DECIMAL(10, 2) NOT NULL,
SQL-приклад:
'''Primary key''' — унікальний ідентифікатор рядка. З індексом вона швидше знаходить потрібні інформаційні дані.== 13. ACID ==

</syntaxhighlight>

== 38. Недоліки MySQL ==
SHOW DATABASES;
WHERE country = 'Ukraine';

MySQL має концепцію storage engines. |-

2018 MySQL 8.0 стає важливою modern-гілкою з новими SQL і JSON-можливостями.
<syntaxhighlight lang="sql">
Це одна з причин, чому MySQL став таким масовим: WordPress сам по собі живить величезну частину вебу. Replica читає ці зміни. | Індекси мають ціну й потребують аналізу. Добрий MySQL-адміністратор не без зусиль “додає індекси”, а читає query plan. CREATE USER 'app_user'@'localhost'
Це корисно, коли частина даних має гнучку структуру.

43. Коли варто використовувати MySQL

InnoDB — базовий storage engine MySQL. * вебзастосунках;
  • WordPress;
  • SaaS;
  • CMS;
  • e-commerce;
  • cloud;
  • managed databases;
  • Docker-based development;
  • enterprise-системах;
  • навчанні SQL;
  • backend-сервісах;
  • класичних і сучасних web-стеках. |}

orders.txt

  • managed MySQL;
  • analytics;
  • machine learning;
  • cloud workloads;
  • high performance;
  • інтеграцію з Oracle Cloud;
  • enterprise-сценарії. |-
Archive - Складність масштабування Великі системи потребують ретельної архітектури. Обрати InnoDB.
CREATE DATABASE app_db;

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

== 36. MySQL і cloud ==
</syntaxhighlight>
SELECT *
|-
| MySQL виступає як частиною класичного LAMP-стеку
| Linux, Apache, MySQL і PHP зробили веброзробку масовою. Приклад:

== 39. MySQL vs PostgreSQL ==

* вебсайтів;
* CMS;
* блогів;
* інтернет-магазинів;
* CRM;
* ERP;
* SaaS-сервісів;
* API;
* мобільних backend-ів;
* аналітичних систем малого й середнього масштабу;
* внутрішніх бізнес-застосунків;
* навчання SQL;
* класичного LAMP-стеку.[[SQLite]]
! Критерій
У сучасних застосунках MySQL часто використовують через ORM. |-
| MySQL Enterprise Edition
| Комерційна реліз системи з додатковими enterprise-функціями, підтримкою Oracle, security, monitoring, backup та HA-можливостями. email VARCHAR(255) UNIQUE NOT NULL,
! ! users

2. |-
| phpMyAdmin
| Вебінтерфейс для MySQL/MariaDB, дуже популярний на хостингах. Замість хаотичних файлів:

5. |}

<syntaxhighlight lang="sql">

! |-
| MySQL застосовується для WordPress
| Це сильно вплинуло на його масову популярність. |-
| “Root user для застосунку — нормально”
| Так простіше на старті. GRANT SELECT, INSERT, UPDATE, DELETE
<syntaxhighlight lang="sql">

docker run --name mysql-dev \

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

'''Foreign key''' — посилання на рядок в іншій таблиці. |-
| 1990-ті
| MySQL оперативно поширюється серед веброзробників. |-
| 2010
| Oracle купує Sun Microsystems і стає власником MySQL.== 21. MySQL Community Edition і Enterprise Edition ==
MySQL
== 40. MySQL vs MariaDB ==
3. | Дуже сильна SQL і extensibility. Додати primary keys.<syntaxhighlight lang="sql">

<pre>

CREATE INDEX idx_users_email ON users(email);

SHOW TABLES;
</div>
== 11. Storage engines ==

</syntaxhighlight>

</div>
</syntaxhighlight>
Це дає можливість MySQL підтримувати зв'язки між таблицями. Linux

! payments
<syntaxhighlight lang="sql">
[[SQL]]

'''Replication''' дає можливість копіювати інформаційні дані з одного MySQL-сервера на інші. |-
| Простий старт
| Часто простіший для новачків.</syntaxhighlight>

MySQL — це популярна реляційна платформа керування базами даних, яка стала одним із фундаментів веброзробки. Спроєктувати схему. користувач системи має замовлення. | Oracle.== 50. Безпека ==

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

  • replication;
  • semi-synchronous replication;
  • Group Replication;
  • InnoDB Cluster;
  • InnoDB ClusterSet;
  • ProxySQL;
  • MySQL Router;
  • managed database services;
  • backup + failover;
  • cloud-native HA. Додати гроші на рахунок B. ! |-
Типові користувачі }

Це означає, що інформаційні дані зберігаються в таблицях, а таблиці можуть бути пов'язані між собою. Linux Server </syntaxhighlight>

Приклади:
== 33. MySQL і ORM ==
EXPLAIN
'''View''' — це віртуальна таблиця на основі SQL-запиту. |-
| MariaDB виникла як fork MySQL
| Частина спільноти хотіла незалежніший дорожня карта розвитку після переходу MySQL до Oracle. |-
| 2025
| MySQL 9.5 виходить як Innovation Release. SEO-опис
WHERE active = 1;
 +--> orders
 -d mysql:8.4
== 20. High availability ==
FLUSH PRIVILEGES;

MySQL уже давно не без зусиль “база для PHP-сайтів”. SEO-опис

Це сервер баз даних, з яким працюють через SQL, клієнтські бібліотеки, GUI-інструменти, ORM, backend-код або командний рядок. MySQL

48. Цікаві факти

4. історія продукту

ORM — Object-Relational Mapping. |-

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

products.txt Приклад:

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

SELECT id, name, email
  • блогів;
  • форумів;
  • CMS;
  • маленьких інтернет-магазинів;
  • хостингів;
  • студентських проєктів;
  • перших стартапів;
  • внутрішніх панелей адміністрування.== 32. MySQL і WordPress ==
|-
| Назва
| 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
|}

== 16. EXPLAIN ==

TO 'app_user'@'localhost';

Якщо сталася помилка:

Цей стек зробив створення сайтів дешевшим, доступнішим і масовішим. І ставити запити:

SELECT name, email

== 1. Загальний SEO-опис ==
{| class="wikitable"
CREATE TRIGGER before_user_insert
|-
| MySQL Community Edition
| Безкоштовна open source-версія MySQL.== 6. SQL ==

Приклад вибірки:

{| class="wikitable"
[[InnoDB]]
 |
7. |-
| MyISAM
| Старий engine, історично важливий, але менш придатний для сучасних transactional workloads.{{DISPLAYTITLE:MySQL}}
</syntaxhighlight>


JOIN orders ON orders.user_id = users.id;

{{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
}}
[[База даних]]
MySQL використовують для:

1. Створити окремого database user. |-
| InnoDB — default engine
| У сучасному MySQL саме InnoDB виступає як головним storage engine. |-
| Сумісність
| Підтримується багатьма мовами програмування й ORM. |-
| Власник
| Oracle. Oracle Database

{| class="wikitable"

Приклад:

! | Enterprise, large corporations, mission-critical systems. Приклад:

<div style="border-left: 6px solid #1565c0; background: #e3f2fd; padding: 12px 16px; margin: 16px 0;">

 id INT PRIMARY KEY AUTO_INCREMENT,

FROM users
! |-
| 2008
| Sun Microsystems купує MySQL AB. |-
| Одночасні користувачі
| Краще для багатокористувацьких систем.</syntaxhighlight>

Ці механізми дозволяють переносити частину логіки на рівень бази даних. |-
| CSV
| Таблиці у CSV-подібному форматі.[[MySQL Workbench]]

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

Багато адміністраторів роблять backup. id INT PRIMARY KEY AUTO_INCREMENT,

<syntaxhighlight lang="sql">

! :contentReference [oaicite:1]{index=1} MySQL 9.5.0 вийшов 21 жовтня 2025 року як Innovation Release. !</syntaxhighlight>

[[Binary log]]

* користувачі;
* сесії;
* товари;
* замовлення;
* платежі;
* коментарі;
* конфігурація;
* logs;
* контент;
* CMS-дані. | Комерційна enterprise-СУБД. Після цього можна писати:
 |
<pre>
 |
WHERE email = 'test@example.com';
 |
сценарії використання:
FROM events;

 FOREIGN KEY (user_id) REFERENCES users(id)

Саме тому MySQL так часто згадують поруч із PHP і WordPress. SQLite

[[PHP]]

<pre>
 -e MYSQL_ROOT_PASSWORD=secret \
== 44. Коли MySQL здатна бути не найкращим вибором ==
</div>

'''MySQL''' — це реляційна платформа керування базами даних, або '''RDBMS'''. | Розділяти сутності й використовувати зв'язки. Офіційна документація MySQL 8.4 описує InnoDB як general-purpose storage engine, який балансує reliability і performance; у MySQL 8.4 InnoDB виступає як default storage engine. FROM users
<syntaxhighlight lang="sql">
! MySQL

Простими словами:

! Engine

== 30. Цікавий факт: backup без перевірки відновлення — це не backup, а надія ==

* volumes;
* backups;
* memory;
* filesystem;
* upgrades;
* monitoring;
* replication;
* security.[[LAMP]]
== 34. MySQL Shell і Workbench ==
Приклад вставки:

MySQL доступний як managed database у багатьох хмарах:

! |-
| MySQL має Community і Enterprise editions
| Community Edition безкоштовна, Enterprise має комерційні функції ERP й підтримку. 2. |-
| MySQL має LTS і Innovation-релізи
| LTS — для стабільності, Innovation — для швидшого отримання нових можливостей. |-
| MySQL належить Oracle
| Oracle отримала MySQL після придбання Sun Microsystems. |-
| Власник / дорожня карта розвитку
| Oracle. | Дуже популярний у сучасному backend/SaaS. Як правильно думати
Вона потрібна для зберігання, пошуку, зміни й організації структурованих даних. здатна працювати значно швидше, якщо `email` проіндексовано. |-
| Спільнота
| Частина спільноти обирає MySQL, частина MariaDB. DESCRIBE users;
|-
| “База сама буде швидкою”
| MySQL популярний, але не магічний.== 15. Цікавий факт: неправильний індекс здатна бути не меншою проблемою, ніж відсутній індекс ==

* індекси прискорюють читання;
* але сповільнюють вставку й оновлення версій;
* займають місце;
* мають підтримуватися;
* можуть не використовуватися optimizer-ом;
* можуть бути зайвими. MySQL

START TRANSACTION;

== 8. Primary key і foreign key ==

FOR EACH ROW

* створювати таблиці;
* додавати інформаційні дані;
* змінювати інформаційні дані;
* видаляти інформаційні дані;
* шукати інформаційні дані;
* об'єднувати таблиці;
* створювати індекси;
* керувати правами;
* робити транзакції. :contentReference [oaicite:4]{index=4}
Приклад створення користувача:
|-
| mysql client
| Класичний командний клієнт ERP. | Використовувати prepared statements. |}

 -e MYSQL_DATABASE=app \

[[Docker]]
{| class="wikitable"
<syntaxhighlight lang="sql">
UPDATE accounts
|-
| Походження
| Оригінальний MySQL під Oracle. |-
| Сервер
| Потрібен MySQL Server. |}

1. |-
| 2000-ті
| MySQL стає важливою частиною LAMP-стеку.== 45. Типові помилки новачків ==

MySQL має довгу історію і став одним із головних символів open source вебу. Недолік

+--> Replica 2

Oracle </syntaxhighlight>

MariaDB Класичний веб 2000-х часто будувався на LAMP: Чому це цікаво: MySQL став майже “мовою за замовчуванням” для класичного вебу: WordPress, phpBB, ранні LAMP-сервери, хостинги, PHP-застосунки й тисячі сайтів роками будувалися навколо MySQL. |-
C Consistency - Вартість виступає як Community Edition. Менше адміністраторів регулярно перевіряють restore.MySQL

</syntaxhighlight>

  • використовувати актуальну підтримувану версію;
  • не відкривати порт 3306 у публічний інтернет без потреби;
  • створювати окремих користувачів для застосунків;
  • давати мінімальні права;
  • використовувати TLS для віддалених з'єднань;
  • використовувати prepared statements;
  • регулярно робити backup;
  • перевіряти restore;
  • увімкнути slow query log для аналізу;
  • стежити за security updates;
  • не зберігати паролі у відкритому коді;
  • використовувати secrets management у production. CREATE TABLE orders (

Для високої доступності MySQL використовують різні підходи: MySQL дуже часто застосовують, коли потрібно у вебзастосунках. Зняти гроші з рахунку A. | Дуже висока. |-

Реплікація MySQL базується на binary log Source записує зміни, replicas їх читають і застосовують. :contentReference [oaicite:2]{index=2}
  • не завжди найкращий вибір для складної аналітики;
  • потребує уважного проєктування схеми;
  • продуктивність сильно залежить від індексів і запитів;
  • Oracle-власність викликає дискусії;
  • replication і HA потребують досвіду;
  • для деяких advanced SQL-сценаріїв PostgreSQL здатна бути сильнішим. |-
InnoDB - MySQL Workbench Дуже сильна JSONB-екосистема. Планувати оновлення версій. |- Складність Простішій старт. SELECT JSON_EXTRACT(data, '$.user_id') Вибрати базу: - Performance залежить від схеми - D Durability - Інструменти виступає як CLI, Workbench, phpMyAdmin, connectors, cloud services.PostgreSQL

MySQL replication тісно пов'язана з binary log. CREATE TABLE users (

A Atomicity Транзакція виконується на 100% або не виконується. id INT PRIMARY KEY AUTO_INCREMENT,

SELECT *

MySQL Enterprise Edition описує InnoDB Cluster як high-availability solution. Критерій

<syntaxhighlight lang="sql">