Section 1: Lab: Getting Started with MariaDB 12.3 LTS
- Client/server architecture and how MariaDB differs from MySQL
- LTS and rolling releases, and the support period of MariaDB 12.3
- Install on Ubuntu Server from the MariaDB repository and run it with Docker
- Start, stop and check the service with systemctl
- Lab: install, apply secure defaults and connect with the mariadb client
Section 2: Configuration and Storage Engines
- Configuration file layout and the order option files are read
- InnoDB architecture: buffer pool, redo log and undo log
- Other engines such as Aria and ColumnStore, and when to use them
- The utf8mb4 character set and collations for Thai data
- Lab: adjust the configuration and verify it with system variables
Section 3: Lab: Users, Roles and Privileges
- Create, change and drop accounts, and set the hosts they may connect from
- GRANT and REVOKE on least-privilege lines
- Roles for grouping a team's privileges
- Authentication plugins such as unix_socket and ed25519
- Lab: set up privileges for an application, a reporting team and administrators
Section 4: Connecting Securely over the Network
- bind-address, ports and opening the firewall on Linux
- Enabling TLS connections and requiring them for selected users
- Connecting from applications through language connectors, JDBC and ODBC
- Limiting connections and setting timeouts
- Lab: connect from another machine over TLS and test privileges
Section 5: Transactions, Concurrency and Locking
- ACID, isolation levels and InnoDB MVCC
- Row locks, gap locks and metadata locks
- Detecting deadlocks and reading SHOW ENGINE INNODB STATUS
- Finding stuck sessions and dealing with them safely
- Lab: simulate conflicting locks and analyse the cause