Skip to content
Français
Account: not signed in, sync available My learning
Select theme
Français

By updated

Improve this page

MySQL logo

MySQL is the most widely deployed open source relational database management system in the world. Used by platforms such as Facebook, Uber, Booking.com or Airbnb, it powers high-traffic web applications as well as embedded systems. This section takes you from installation to replication, through security and monitoring, everything a system administrator or DevOps engineer must master to run MySQL under real conditions.

What this section covers

This course covers 8 progressive guides, from discovery to replication:

Why MySQL

MySQL remains the dominant choice for web and cloud applications for several concrete reasons:

  • Read performance: the architecture of InnoDB (the default storage engine since MySQL 5.5) is optimized for read-heavy workloads, the most common scenario for web applications.
  • Massive ecosystem: every web framework (Django, Rails, Laravel, Spring) offers native MySQL support. Administration, monitoring and backup tools are numerous and mature.
  • MySQL 8.4 LTS: the LTS (Long Term Support) release policy guarantees security updates for 8 years, which simplifies upgrade planning in the enterprise.
  • Flexible replication: asynchronous replication based on GTID (Global Transaction Identifiers), Group Replication for automatic high availability, and InnoDB Cluster as a fully integrated solution with MySQL Shell and MySQL Router.
  • Performance Schema: a built-in instrumentation system that exposes detailed metrics on locks, I/O, threads and queries, without any external tool.
  • Cloud-ready: available as a managed service at all cloud providers (Amazon RDS, Google Cloud SQL, Azure Database, OVHcloud) while remaining installable on your own servers.

Who this course is for

These guides are designed for:

  • System administrators who manage Linux servers and must install, maintain and troubleshoot MySQL day to day.
  • DevOps engineers and SREs who automate deployments, configure high availability and monitor performance in production.
  • Backend developers who want to understand how InnoDB works in order to write efficient queries and diagnose locking problems.

Prerequisites: being comfortable with the Linux command line and the basics of system administration (managing systemd services, editing configuration files). No prior knowledge of MySQL is needed, the first guide starts from zero.

Path A, Beginner → Autonomous: follow modules 1 to 3 in order. You will understand the InnoDB architecture, know how to install MySQL and master the everyday operations with the mysql client. Allow about 2 hours.

Path B, Going to production: after path A, continue with modules 4 (configuration), 5 (security) and 6 (backup). It is the minimum for a reliable MySQL in production. Allow 3 to 4 more hours.

Path C, High availability: add modules 7 (monitoring) and 8 (replication) to prepare a deployment with GTID, Group Replication and InnoDB Cluster. This path assumes a good understanding of the previous modules.

The key concepts of MySQL

MySQL introduces several notions that are useful to know before diving into the guides:

ConceptRole
InnoDBDefault storage engine: transactional (ACID), supports foreign keys, row-level locking and MVCC. All tables should use InnoDB.
Buffer PoolMemory area where InnoDB caches data and index pages. It is the most important performance parameter: the bigger it is, the less MySQL reads from disk.
Binary Log (binlog)Journal of all data changes. Used for replication (the replica reads the source's binlog) and PITR (replaying transactions after a backup).
GTID (Global Transaction Identifier)Unique identifier of each transaction, in the source_uuid:sequence format. Greatly simplifies replication management compared with the old file/position pair.
Performance SchemaInternal database (performance_schema) that collects real-time metrics on queries, locks, I/O, threads and memory.
Data DictionarySince MySQL 8.0, metadata (tables, columns, indexes) is stored in transactional InnoDB tables, replacing the old .frm files.

Common MySQL pitfalls

PitfallImpactFix
innodb_buffer_pool_size at the default value (128 MB)MySQL does not use the available RAM, excessive disk readsAdjust to 50-70% of the dedicated RAM (module 4)
Using the root account for the applicationNo privilege separation, risk of an accidental DROP DATABASECreate dedicated accounts with minimal GRANT (module 5)
Forgetting to enable the binary logImpossible to replicate or restore to a precise point in timeMake sure log_bin is active (module 6)
Not monitoring slow queriesGradual performance degradation without diagnosisEnable the slow_query_log and analyze regularly (module 7)
Replication without GTIDFragile file/position management, complex failoverEnable gtid_mode=ON from the start (module 8)
max_connections too high without connection poolingEach connection consumes memory, risk of OOMUse ProxySQL or MySQL Router in front of MySQL (module 4)

Which of these guides involve practice

Five of the eight guides above carry a validated lab from the bdd-dsoxlab-training catalog, played on a Debian 13 machine and graded on the real state of the server: the installation, the client guide, the configuration, the security guide and the backup guide. Each announces its lab in a "Put it into practice" section, with what the validation really reads, and it is rarely what you would expect: the listening state reported by ss rather than a configuration file, a restart rather than a variable, a called stored procedure rather than a dump that "succeeded".

The other three have no lab, and it is better to know that before starting. Discover MySQL is a concepts guide: it places InnoDB, the buffer pool and the binary log, with no gesture to prove. Monitoring and replication are awaiting theirs, which will open the next levels of the path.

Testing the level

Once the five labs are played, an exam measures what remains when the step-by-step instructions disappear: an instance inherited as is, listening on all interfaces, with an account that can do everything, no tuning and no backup. Ten graded tasks, 100 points, 70 to pass, and everything is graded on the real state of the server, after a restart.

Nothing is re-explained there, that is the principle: the exam does not relearn the role that must be activated nor the option that carries the stored procedures along, it checks that you think of them on your own. Its two hints cost 20 and 30 points, so that taking both puts a pass out of reach for that attempt. It can be retaken.

Key takeaways

  • MySQL is the most widely deployed open source RDBMS, driven by the transactional InnoDB engine and a massive ecosystem.
  • The architecture rests on the buffer pool (memory cache), the binary log (journal of changes) and the transactional data dictionary.
  • Security relies on dedicated accounts with minimal GRANT, TLS for encryption and the caching_sha2_password authentication.
  • Backups combine logical dumps (mysqldump) and physical backups (MySQL Shell / Percona XtraBackup) with binlog archiving for PITR.
  • Monitoring relies on Performance Schema, the slow query log and tracking the InnoDB buffer pool.
  • GTID-based replication simplifies high availability, with Group Replication and InnoDB Cluster as integrated solutions.

Going further

  • If the architecture is still unclear, Discover MySQL places InnoDB, the buffer pool and the binary log before any installation.
  • If the choice of engine is not settled, PostgreSQL, MySQL or SQLite sets them apart on an operator's criteria: license, LTS series, replication and backup tooling.
  • If you administer both engines, PostgreSQL administration describes the other architecture, that of the WAL, and its path carries nine validated labs.

Is this project useful to you?

The guides, courses, quizzes and labs stay free. If you use them regularly, you can contribute to their upkeep and development.

Become a supporting member (new tab) One-time support (new tab) Learn more

Follow the project on LinkedIn