PostgreSQL Administration Course (Days 1 - 5)
This PostgreSQL Administration course covers administration, maintenance, security and performance tuning of PostgreSQL databases.
Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.
The delegate will gain an understanding of:
- Install PostgreSQL
- Create a database
- Manage roles and privileges
- Manage schemas
- Transaction handling and concurrency
- Examine statistics and system tables
- Manage tablespaces
- Scale PostgreSQL using table inheritance and partitioning
- Understand error reporting and logging
- Security features of PostgreSQL
- Encrypt sensitive data
- Carry out periodic maintenance with Autovacuum
- Backup and recover databases
- Create indexes to improve table access
- Optimize queries and indexes
- Configure settings for increased performance
- Populate a new database efficiently
- Set up asynchronous and synchronous replication
Course Objectives
This course aims to provide the delegate with the knowledge to be able to install, administer, maintain, backup, recover and tune a PostgreSQL database.
Requirements
This course assumes a good working knowledge of SQL and specifically of the SELECT, INSERT, UPDATE and CREATE TABLE statements. This can be obtained by attendance
on the pre-requisite SQL for PostgreSQL course.
This course is run on a Linux operating system, a basic knowledge of UNIX/Linux is recommended but is not essential.
MariaDB Database Administration Course (Days 6 - 10)
This MariaDB Database Administration course is designed for MariaDB Database Administrators who have a basic understanding of a MariaDB database and a good
working knowledge of SQL commands.
The course provides an understanding of MariaDB Architecture and practical experience in setting up, configuring and maintaining a
MySQL server, backing up and recovering data and optimising query performance.
This MariaDB Database Administration course also covers MySQL replication and its role in high availability and scalability. This course is also suitable for users
of MariaDB 10.2 and 10.1.
The delegate will learn and acquire skills as follows:
- Using Client Programs for MariaDB DBA work
- Using MySQL Workbench
- Obtaining metadata
- Configuring the Server
- Install and configure the MariaDB Server and client programs
- Administering and tuning a server
- Upgrading a Running Server
- Setting up Character Set Support
- Configuring log files and using them to monitor database activity
- Interpreting error messages
- Locking and transactions
- Using different storage engines
- Table Maintenance
- Implementing a backup strategy
- Performing physical and logical backups of data
- Administering Users and Privileges
- Securing the Server from common security threats
- Identify and Optimise poorly tuned queries
- Tuning Tables and Indexes
- Using the Event Scheduler
- Creating Partitioned Tables
- Replication
- Configure simple and complex replication topologies
- Administer a replication topology
Who will the Course Benefit?
Database Administrators, Database Developers and Technical Consultants who need to setup, administer, monitor and support MariaDB 10.3, 10.2 and 10.1 databases
and servers.
Course Objectives
At the end of the MariaDB Database Administration course, delegates will have the knowledge to use all the features available to administer,
monitor and support MariaDB 10.3, 10.2 and 10.1 databases and servers.
Requirements
A working knowledge of MariaDB is required. Delegates should have knowledge of relational database concepts; have knowledge of MySQL data types; be
able run Queries using SQL; join tables and run basic DDL and DML statements. This can be gained by attendance on the Introduction to MariaDBcourse.
This course is run on a Linux operating system, a basic knowledge of UNIX/Linux is recommended but is not essential.
Notes:
- Course technical content is subject to change without notice.
- Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions.
MariaDB Database Administration Training Course
Course Introduction
- Administration and Course Materials
- Course Structure and Agenda
- Delegate and Trainer Introductions
Session 1: THE SERVER, CLIENTS AND TOOLS
- Introduction
- The versions of MySQL and MariaDB
- An Overview of MariaDB Architecture
- MySQL Server
- MySQL Tools
- MySQL Admin
- Exercises: Using Client Programs
Session 2: MYSQL WORKBENCH
- Installation
- Connecting
- Screens
- Exercises: Using MySQL Workbench
Session 3: OBTAINING METADATA
- What is Metadata?
- The mysqlshow Client Program
- The SHOW and DESCRIBE Commands
- The Information_Schema
- Show Command and Information_Schema Differences
- Exercises: Obtaining Information about MariaDB
Session 4: MARIADB SERVER INSTALLATION AND CONFIGURATION
- MariaDB Distributions
- Installing on Windows
- Installing on Linux and UNIX
- Starting and Stopping on Windows
- Starting and Stopping on UNIX/Linux
- Status Files
- Upgrading the Server
- Time Zone Tables
- Exercises: Installing, stopping and starting
Session 5: CONFIGURING THE SERVER
- MariaDB Server Options and Variables
- MariaDB Status Variables
- Configuring MySQL Enterprise Audit
- Exercises: Configuring the Server
Session 6: SQL MODES, LOG FILES AND BINARY LOGGING
- MySQL Error Messages
- The SHOW Errors Statement
- The SHOW Warnings Statement
- SQL Modes
- Note Messages
- The PERROR Utility
- The General Log
- The Error Log
- The Slow Query Log
- The Binary Logs
- Exercises: Interpreting Errors and Configuring the Logs
MariaDB Database Administration Training Course
Session 7: MARIADB ARCHITECTURE
- Client/Server Overview
- Communication Protocols
- The SQL Parser and Storage Engine Tiers
- How MariaDB Uses Disk Space
- How MariaDB Uses Memory
- Exercises: Examining the Architecture
Session 8: TRANSACTIONS AND LOCKING
- Locking Concepts
- Explicit Table Locking
- Advisory Locking
- Exercises: Locking
Session 9: THE INNODB STORAGE ENGINE
- Introduction
- Features of Innodb
- Transactions
- Referential Integrity
- Physical Characteristics of Innodb Tables
- System Tablespace Configuration
- Log File and Buffer Configuration
- Innodb Status
- Exercises: Using the InnoDB Engine
Session 10: OTHER STORAGE ENGINES
- Introduction
- The MYISAM Engine
- The Merge Engine
- Other Engines: Archive, Aria, Memory, Blackhole, CSV
- Cluster Engine Overview
- Overview of the ColumnStore, MyRocks and Spider Engines
- Exercises: Using Storage Engines
Session 11: TABLE MAINTENANCE
- Table Maintenance Operations
- Check Table
- Repair Table
- Analyze Table
- Optimize Table
- MySQL Check
- MyISAM Table Maintenance and Repair Utilities
- Exercises: Maintaining Tables
MariaDB Database Administration Training Course
Session 12: BACKUP AND RECOVERY
- Designing a Backup and Recovery Strategy
- The Advantages and Disadvantages of Different Backup Methods
- Binary Backups of MYISAM Tables
- Binary Backups of Innodb Tables
- Recovery
- Import and Export Operations
- Exporting and Importing using SQL
- Exporting from the Command Line using mysqldump
- Importing from the Command Line using mysqlimport
- Additional Backup Tools
- Exercises: Backing Up and Recovery
Session 13: USER MANAGEMENT
- Introduction
- User Accounts
- Creating Users
- Renaming Users
- Changing Passwords
- Dropping Users
- Granting Privileges
- The User Table
- Connection Validation
- Password Validation Plugins
- Exercises: Creating, Managing and Dropping Users
Session 14: PRIVILEGES
- Introduction
- Types of Privileges
- Revoking Privileges
- Resource Limits
- The MySQL Database
- The Show Grants Command
- Role management
- Exercises: Granting and Revoking Privileges
Session 15: SECURITY AND UPGRADES
- Signs of Poor Security
- Security Risks
- Users, Operating System, File System and Network Security
- Using SSL With MySQL
- Remote Connecting to the MySQL Server Using SSH
- Exercises: Securing the Server
MariaDB Database Administration Training Course
Session 16: TUNING QUERIES
- Tuning Overview
- Identifying Candidates for Query Analysis
- Using Explain to Analyze Queries
- Meaning of Explain Output
- Explain Extended
- Exercises: Explaining and Tuning Queries
Session 17: TUNING AND INDEXES
- Indexes for Performance
- Creating and Dropping Indexes
- Obtaining Index Metadata
- Indexing Principles
- Indexing and Joins
- Fulltext Indexes
- Index Hints
- Conditions that Prevent Index Usage
- MyISAM Index Caching
- Exercises: Creating and Using Indexes
Session 18: TUNING AND TABLES
- General Table Optimizations
- Myisam Specific Optimizations
- Innodb Specific Optimizations
- Other Engine Specific Optimizations
- Exercises: Tuning Tables
Session 19: TUNING THE SERVER
- Status Variables
- Server Variables
- Performance Schema Overview
- The Query Cache
- Exercises: Tuning the Server
Session 20: THE EVENT SCHEDULER
- Event scheduler concepts
- Event scheduler configuration
- Creating, altering and dropping events
- Event scheduler monitoring
- Events and privileges
- Exercises: Using the event scheduler
Session 21: PARTITIONED TABLES
- Partitioned tables concepts
- Obtaining Partitioned Table Metadata
- Types of Partitioning
- Subpartitioning
- Maintenance of partitioned tables
- Exercises: Using partitioned tables
MariaDB Database Administration Training Course
Session 22: OVERVIEW OF CLUSTER STORAGE ENGINES
- Overview of Clustering and Performance
- NDBCluster Engine Overview
- The Galera Cluster
- The Percona XtraDB Cluster
- MySQL InnoDB Cluster
- The Federated Engine
- The FederatedX Engine
- Overview of Other High Availability Techniques
- NOSQL and MemCached Overview
- Features of Memcached with MySQL
Session 23: OVERVIEW OF HIGH AVAILABILITY
- High Availability Goals
- High Availability Concepts
- Design for High Availability
- Definition of Availability
- High Availability Terminology
Session 24: CONFIGURE MASTER SLAVE REPLICATION
- Replication Overview
- When to Use Replication
- Testing Replication
- Excluding Databases or Tables from Replication
- Example: Setting Up a Master Slave Replication
- Replication Using GTIDs
- Controlled Switchover
- Exercises: Setting Up and Testing Replication and Switchover