MySQL Administrator
MySQL Administrator is a course in running a current MySQL LTS release, from choosing a release and installing it to configuring the server, managing users and security, backup and point-in-time recovery, performance tuning and replication. It suits database administrators, system administrators and developers who look after their own MySQL servers and want them fast, secure and recoverable.
- Duration18 hours · 3 days
- FormatOnsite / live online
- Next roundOn request
- CertificateIncluded
Course overview
MySQL sits behind a great many systems, from websites and ERP platforms to internal business applications. As those systems grow, administrators need to decide which MySQL release to run, how to configure it to be fast and secure, which backups can genuinely be restored, and how to keep a standby ready when the main server fails. In 2026 MySQL also moved to calendar versioning, which makes release planning and upgrades even more important.
This course takes learners through administering MySQL 9.7 LTS: choosing between LTS and Innovation releases, installing on Linux and Docker, configuring the server and its logs, and using MySQL Shell and Workbench. It covers InnoDB and partitioning, users, roles and encryption, logical, physical and point-in-time backup and recovery, query and server tuning, and closes with replication and upgrade planning.
What you’ll gain
- Choose the right MySQL release for your organisation and install it on Linux, Windows and Docker
- Configure the server, its logs and system variables correctly
- Manage users, roles, privileges and encryption of connections and data
- Plan and test backup and recovery, including point-in-time recovery
- Analyse and tune query and server performance
- Set up replication and plan version upgrades
Who this course is for
- Database administrators responsible for MySQL servers
- System administrators and infrastructure teams who look after application databases
- Developers who install and run MySQL themselves
- People running MySQL 5.7 or 8.0 who need to plan a move to a current LTS release
Prerequisites
- Basic use of MySQL or another database, and basic SQL
- Command-line use on Linux or Windows (basic guidance is given)
- An understanding of software installation and basic networking
- A laptop that can run Docker or a virtual machine, with permission to install software
Curriculum
Course Details
This course is the 2026 edition of MySQL Administrator, rewritten for MySQL 9.7 LTS and the new calendar-versioned release model. It runs for 3 days, 6 hours per day (18 hours in total, 09:00-16:00), as lectures with labs on each learner's own server. Intermediate level. Day one covers choosing a release, installation, server configuration and MySQL Shell. Day two covers InnoDB, partitioning, users, roles and encryption. Day three covers backup and recovery, performance tuning, replication and upgrade planning. The course focuses on server administration; learners who mainly write SQL for applications can choose the institute's MySQL for Developer course. Learners take home the lab scripts and a runbook.
Day 1 MySQL Releases, Installation and Administration Tools
Section 1: MySQL in 2026: LTS Releases and Architecture
- LTS and Innovation releases, and calendar versioning from release 26.7
- The status of 8.0, 8.4 LTS and 9.7 LTS, and choosing a release for your organisation
- How Community and Enterprise Editions differ
- Client/server architecture, connection threads and InnoDB
- Lab: check a server's version and features, then build a release-choice table for your team
Section 2: Lab: Installing MySQL 9.7 LTS
- Installing from the MySQL APT or YUM repository on Linux
- Installing on Windows and running the official Docker image
- The data directory, initialisation and managing the service with systemd
- Setting the root password and closing gaps after installation
- Lab: install MySQL on a Linux VM and on Docker, then connect from your laptop
Section 3: Lab: Configuring the Server and Logs
- Option files (my.cnf) and the order in which they are read
- Global and session system variables, and SET PERSIST
- sql_mode and its effect on data correctness
- The error log, general log, slow query log and binary log
- Lab: configure the server, enable the slow query log and set binary log expiry
Section 4: Lab: MySQL Shell and Administration Tools
- The mysql client and MySQL Shell in SQL, JavaScript and Python modes
- MySQL Workbench for administration and server status
- What Performance Schema and the sys schema can tell you
- Commonly used MySQL Shell utilities
- Lab: run a server health check with the sys schema and MySQL Shell
Section 5: Lab: The Data Dictionary and Metadata
- The transactional data dictionary in current MySQL
- INFORMATION_SCHEMA, SHOW and DESCRIBE
- Database, table and index sizes from metadata
- Finding tables without primary keys and unused indexes
- Lab: a weekly schema health report built from metadata
Day 2 Storage Engines, Security and Data Maintenance
Section 6: Lab: The InnoDB Storage Engine
- The buffer pool, redo log, undo log and doublewrite buffer
- File-per-table and general tablespaces
- Transactions, isolation levels and row-level locking
- Other storage engines you may still meet, and moving MyISAM to InnoDB
- Lab: convert legacy MyISAM tables to InnoDB and check the impact
Section 7: Lab: Partitioning
- When partitioning helps and when it does not
- RANGE, LIST, HASH and KEY partitioning
- Partition pruning and checking it with EXPLAIN
- Adding, dropping and exchanging partitions, and the limits to know
- Lab: partition a log table by month and remove old data with DROP PARTITION
Section 8: Lab: Users, Roles and Privileges
- CREATE USER and global, database, table, column and routine privileges
- Roles and default roles for granting privileges as a group
- caching_sha2_password and migrating legacy mysql_native_password accounts
- Password policy, expiry and locking accounts after failed logins
- Lab: design least-privilege roles for developers, applications and administrators
Section 9: Lab: TLS and Data Encryption
- Enabling and enforcing TLS connections
- Server certificates and verification on the client side
- Encrypting tablespaces and binary logs with a keyring component
- Security practices and restricting network access
- Lab: enforce TLS for every account and encrypt a customer data table
Section 10: Lab: Table Maintenance, Import and Export
- ANALYZE, CHECK and OPTIMIZE TABLE, and histogram statistics
- LOAD DATA and SELECT INTO OUTFILE with secure_file_priv
- Parallel import of large files with MySQL Shell util.importTable
- Solving character set and collation issues with utf8mb4
- Lab: import millions of sales rows and refresh table statistics
Day 3 Backup, Performance and Replication
Section 11: Lab: Logical Backup
- Planning backups around the system's RPO and RTO
- How mysqldump differs from the MySQL Shell dump utilities
- Multi-threaded util.dumpInstance, dumpSchemas and loadDump
- Making sure users, routines and events are included
- Lab: back up a whole instance with MySQL Shell and restore it on a new server
Section 12: Lab: Physical Backup, Clone and Point-in-Time Recovery
- Physical backups and the Enterprise and open-source tools available
- The clone plugin for copying a whole server quickly
- The binary log and mysqlbinlog for rolling data forward to a chosen time
- Testing restores regularly and documenting the steps
- Lab: recover data to just before a mistaken DELETE with point-in-time recovery
Section 13: Lab: Query Performance
- Reading execution plans with EXPLAIN and EXPLAIN ANALYZE
- Designing composite, covering and descending indexes
- Invisible indexes for testing before dropping an index
- Finding slow queries from the slow query log and the sys schema
- Lab: tune a slow sales report query and measure before and after
Section 14: Lab: Server Tuning
- Sizing the InnoDB buffer pool and checking its hit rate
- Redo log capacity, connections and threads
- innodb_dedicated_server for machines that only run the database
- Monitoring server load with Performance Schema and Workbench
- Lab: simulate a workload and tune memory settings to the machine
Section 15: Workshop: Replication and Upgrade Planning
- Source and replica replication with GTIDs
- An overview of InnoDB ReplicaSet, InnoDB Cluster and MySQL Router through MySQL Shell
- Rolling upgrades and readiness checks with util.checkForServerUpgrade
- Workshop: set up a replica, rehearse a failover and check replication lag
- Summarise a runbook for daily, monthly and incident-time MySQL administration
Schedule & training options
For individuals — public rounds
No public rounds are open right now. Join the waiting list and we will contact you first when the next round opens, or ask us on LINE. Or call 02-570-8449 or 088-807-9770
For organisations — in-house / private
- Tailor the content to your team’s tools and projects
- Your dates, at your office or live online
- Quotation with tax ID for procurement
Instructors
Frequently asked questions
What is the difference between InnoDB and MyISAM, and which should you choose?
InnoDB supports ACID transactions and foreign keys, locks at row level and recovers automatically after a crash, so it suits workloads where many users write at once, and it is the default storage engine in current MySQL releases. Newer features such as cloning and InnoDB Cluster also work with InnoDB. MyISAM has no transactions and locks whole tables, so systems that still have MyISAM tables should plan to move them to InnoDB.
How do you back up and restore a MySQL database?
There are two main approaches. A logical backup exports structure and data, and current releases favour the multi-threaded MySQL Shell dump utilities, which are faster than mysqldump. A physical backup copies the data files or uses the clone plugin, which is faster for large databases. Keep the binary log enabled as well. To recover, restore the latest backup and then replay the binary log up to the point in time you need, and test your restores regularly.
What is MySQL replication and how do you set it up?
Replication automatically copies changes from a source server to one or more replicas through the binary log. It is used to spread read load, to keep a copy for backups or to prepare for failover if the main server has a problem. Current releases recommend enabling GTIDs, giving each server a unique server_id, creating a replication user on the source, then running CHANGE REPLICATION SOURCE TO on the replica, or using MySQL Shell to set up an InnoDB ReplicaSet more simply.
Who is the MySQL Administrator course for, and what should I know beforehand?
It suits database administrators, system administrators and developers who look after MySQL servers, including people running older MySQL releases who need to plan a move to a current LTS release. You should be able to use MySQL or another database at a basic level, write basic SQL and have some command-line experience. Basic command-line guidance is given if you need it.
What will I be able to do after the MySQL Administrator course?
You will be able to choose the right MySQL release and install it on Linux or Docker, configure the server and its logs, check system health with MySQL Shell and the sys schema, manage users, roles and encryption, back up and restore data including point-in-time recovery, tune queries and the server, set up replication and plan version upgrades. Participants receive a Certificate of Completion.
Can the MySQL Administrator course be run in-house for our team?
Yes. It can be run in-house for your team, with examples adapted to your own work, such as planning an upgrade from the MySQL release your organisation runs today or designing backups around your real systems. You can request a quotation from this page, or contact us on LINE @itgenius or by phone on 02-570-8449.
Related articles
Articles are published in Thai.

