MySQL Database Administration

MySQL Database Administration


This course is ideal for delegates who needs to administer, monitor and support MySQL databases and services.


A working knowledge of MySQL is required. Attending our MySQL Introduction to Querying class would be beneficial.


3 days. Hands on.

Course Objectives

This course is designed to give administrators the knowledge and skills needed to maintain successful and efficient operations of MySQL databases and services. Administrators will gain practical experience in setting up, administering and troubleshooting the database.

On completion of the course, delegates will understand how to:

  • Start, Stop and Configure MySQL
  • Security-Related Configuration
  • Create Databases
  • Use Client Programs for DBA Work
  • Set up Character Set Support
  • Locking
  • Use Storage Engines
  • Table Maintenance
  • Obtain Data from the Information_Schema Database
  • Backup and Recovery
  • Use Stored Procedures for Database Administration Tasks
  • User Management
  • Secure the Server
  • Upgrade-Related Security Issues
  • Optimise Queries and Schemas
  • Optimise the Server - The Event Scheduler
  • Partitioned Tables
  • Interprete Error Messages
  • Optimise the Environment
  • Scale MySQL

Course Content

Course Intro
Client Program Limitations
MySQL Admin

The Information_Schema Database
What is Metadata?
The mysqlshow Utility
The SHOW and DESCRIBE Commands
The Information_Schema Database

MySQL Administrator
Server Information
Service Control
User Administration
Backup and Restore

Interpreting Error and Diagnostic Information
MySQL Error Messages
The SHOW Statement
SQL Modes
The PERROR Utility
The Log
The Error Log
The Slow Query Log

MySQL Architecture
Client/Server Overview
Communication Protocols
The SQL Parser and Storage Engine Tiers
MySQL Disk Space Use
MYSQL Memory Use

Installing, Configuring, Starting and Stopping
MySQL Distributions
Installing on Windows, Linux and UNIX
Starting and Stopping on Windows, UNIX & Linux
Log and Status Files
The Default SQL Mode
Time Zone Tables
Some Security Issues

Tables, Data Types and Character Set Support
Table Properties
Creating Tables
Altering Tables
Dropping Tables
Emptying Tables
Obtaining Table Metadata
Column Attributes
Bit Data Type
Numeric Data Types
Character String Data Types
Binary String Data Types
Enum and Set Data Types
Temporal Data Types
Handling Missing or Invalid Data Values
Performance Issues with Character sets
Choosing Data Types for Character Columns

Locking Concepts
Explicit Table Locking
Advisory Locking
Preventing Locking Problems

Storage Engines
The MYISAM Engine
Locking with MYISAM Tables
The Merge Engine
Other Engines

The Innodb Engine
Features of Innodb
Referential Integrity
Physical Characteristics of Innodb Tables
Tablespace Configuration
Log File and Buffer Configuration
Innodb Status

Table Maintenance
Table Maintenance Operations
Check Table
Repair Table
Analyze Table
Optimize Table
MySQL Check
Repairing Innodb Tables
Enabling MYISAM AutoRepair

Backup and Recovery
Planning and Implementing a Backup and Recovery Strategy
Defining a Disaster Recovery Plan
Testing a Backup and Recovery Plan
The Advantages and Disadvantages of Different Methods
Binary Backups of MYISAM Tables
Binary Backups of Innodb Tables
Import and Export Operations
Exporting and Importing Using SQL
Exporting and Importing from the Command Line

User Management
User Accounts
Creating Users
Renaming Users
Changing Passwords
Dropping Users
Granting Privileges
The User Table
Connection Validation

Types of Privileges
Revoking Privileges
Resource Limits
The MySQL Database
The Show Grants Command

User Variables and Prepared Statements
User Variables
Prepared Statements

Stored Routines for Administration
Types of Stored Routines
Benefits of Stored Routines
Stored Routines Features
Stored Routine Maintenance
Stored Routine Privileges and Execution Security

DML Triggers
The Create Trigger Statement
Managing Triggers

Securing the Server
Security Issues
Operating System Security
Filesystem Security
Log Files and Security
Network Security
Upgrade-related Security Issues
Upgrading the Privilege Tables
Security-Related SQL_Mode Values

Optimizing Queries
Optimization Overview
Optimization Process
Planning a Routine Monitoring Regime
Setting Suitable Goals
Identifying Candidates for Query Analysis
Using Explain to Analyze Queries
Meaning of Explain Output
Using Explain Extended

Optimization and Indexes
Indexes for Performance
Creating and Dropping Indexes
Obtaining Index Metadata
Indexing Principles
Indexing and Joins
MyIsam Index Caching

Optimising Schemas
General Table Optimizations
Myisam Specific Optimizations
Innodb Specific Optimizations
Other Engine Specific Optimizations

Optimising the Server
Measuring Server Load
System Factors
Server Parameters
Query Optimizer Performance
The Query Cache

Optimising the Environment
Choosing the Platform
Hardware Configurations
Disk Issues on Linux
Symbolic Links
Optimising the Operating System

The Event Scheduler
Event scheduler concepts
Event scheduler configuration
Creating, altering and dropping events
Events and privileges

Partitioned tables
Partitioned tables concepts
Range partitioning
Hash partitioning
Key partitioning
List partitioning
Composite partitioning or subpartitioning
Maintenance of partitioned tables

Scaling MySQL
Using Multiple Servers

Virtual Courses

ALL of our courses can be delivered virtually! Our Bath public schedule courses are available as live virtual sessions, using the popular Zoom Virtual Classroom and remote labs. Delegates can test their access at:

Public Courses

On-Site Courses

Can't attend one of our public classes? Booking for multiple people?

All our courses are available on your site! Delivered for your staff, at your premises.

Contact us to find out more...