MySQL Database Administration
This MySQL Database Administration course is designed for MySQL Database Administrators who have a basic understanding of a MySQL database and a good working knowledge of SQL commands.
The course provides an understanding of MySQL Architecture and practical experience in setting up, configuring and maintaining a MySQL server, and backing up and recovering data. This MySQL Database Administration course also covers MySQL replication and its role in high availability and scalability.
Versions supported 8, 5.7, 5.6.
Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.
The delegate will learn and acquire skills as follows:
- Using Client Programs for MySQL DBA work
- Using MySQL Workbench
- Obtaining metadata
- Configuring the MySQL Server
- Install and configure the MySQL Server and client programs
- Administer and tune a server
- Setting up Character Set Support
- Configuring log files and using them to monitor database activity
- Interpreting error messages
- Locking and transaction handling
- Using different storage engines
- Table Maintenance
- Implementing a backup strategy
- Performing physical and logical backups of data
- Administering Users and Privileges
- Using the Event Scheduler
- Configure simple replication topologies
- Administer a replication topology
Database Administrators, Database Developers and Technical Consultants who need to setup, administer, monitor and support MySQL databases and servers.
At the end of the MySQL Database Administration course, delegates will have the knowledge to use the features available to administer, monitor and support MySQL databases and servers.
The MySQL Database Administration course in conjunction with the MySQL Performance & Tuning course will teach the major topics required for the delegate to work towards achieving the following examinations:
- Oracle Certified Professional MySQL 5.7 Database Administrator Exam (1Z0-888)
- Oracle Certified Professional MySQL 8.0 Database Administrator Exam (1Z0-908)
Before taking any exam, ensure you have the recommended experience. The Oracle website lists all exam requirements and these are updated regularly.
Exams are not included as part of the course.
A working knowledge of MySQL 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 knowledge can be gained by attendance on the Introduction to MySQL course.
This course is run on a Linux operating system platform, therefore, a good working knowledge of Linux/UNIX is strongly recommended. This knowledge can be gained by attendance on the Linux Introduction course.
- Introduction to MySQL
- Linux Introduction
- MySQL Performance & Tuning
- Perl Programming
- Apache Web Server
- PHP Programming & MySQL for Web Development
- 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.
------------------------------------------------------------
MySQL Database Administration
Course Contents - DAY 1
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
- An Overview of MySQL Architecture
- The MySQL Server
- MySQL Client Connections
- MySQL Client Programs
- MySQL Client Libraries
- The mysql Command Line Tool
- The mysqladmin Program
Session 2: MYSQL WORKBENCH
- Installation of MySQL Workbench
- Connecting to MySQL Workbench
- MySQL Workbench Screens
Session 3: OBTAINING METADATA
- What is Metadata?
- The mysqlshow Client Program
- The SHOW and DESCRIBE Commands
- The INFORMATION_SCHEMA
- MySQL 8 INFORMATION_SCHEMA Changes
- Generate Statements using the INFORMATION_SCHEMA
Session 4: CONFIGURE THE SERVER
- Start and Stop the Server
- Status Files
- Time Zone Tables
- An Overview of MySQL Storage Engines
- MySQL Server Options and Variables
- MySQL Status Variables
- Configuring MySQL Enterprise Audit
Session 5: 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
Course Contents - DAY 2
Session 6: MYSQL ARCHITECTURE
- Communication Protocols used to connect a Client to the Server
- The SQL Parser and Storage Engine Tiers
- Installing and Uninstalling Plugins
- How MySQL Uses Disk Space
- How MYSQL Uses Memory
Session 7: THE INNODB STORAGE ENGINE
- Features of Innodb
- Transactions and Referential Integrity
- Physical Characteristics of Innodb Tables
- System Tablespace Configuration
- File per Table Tablespace
- Log File and Buffer Configuration
- Undo Logs and Undo Tablespaces
- General Tablespaces
- Temporary Table Tablespaces
- Innodb Status
- InnoDB Shutdown Options
Session 8: OTHER STORAGE ENGINES
- Check Engine Usage
- The MYISAM Engine
- The Merge Engine
- Other Engines: Archive, Memory, Blackhole, CSV
- Mixing Storage Engines
Session 9: TABLE MAINTENANCE
- Table Maintenance Operations
- Check Table
- Repair Table
- Analyze Table
- Optimize Table
- MySQL Check
- Repair InnoDB Tables
- MyISAM Table Maintenance and Repair Utilities
Course Contents - DAY 3
Session 10: BACKUP AND RECOVERY
- The Advantages and Disadvantages of Different Backup Methods
- Backup Tool Overview
- Binary Backups of MYISAM Tables
- Binary Backups of Innodb Tables
- Performing Hot Backups
- Performing 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
Session 11: USER MANAGEMENT
- Introduction
- User Accounts
- Creating Users
- Renaming Users
- Change a User Password
- Dropping Users
- Granting Privileges
- The User Table
- Connection Validation
- Password Validation Plugins
Session 12: PRIVILEGES
- Types of Privileges
- Granting and Revoking Privileges
- Setting Resource Limits
- MySQL 8 Resource Management
- MySQL 8 Role Management
- The MySQL Database
- The Show Grants Command
Course Contents - DAY 4
Session 13: TRANSACTIONS AND LOCKING
- Locking Concepts
- Levels of Locking
- Implicit Table Locking with MyISAM and InnoDB
- Explicit Table Locking
- Advisory Locking
- Monitoring Locks
- Turning Autocommit on and off
- Using Transaction Blocks
- Handling Concurrency Problems and Deadlocks
Session 14: TUNING AND TABLES
- General Table Optimizations
- MyIsam Specific Optimizations
- InnoDB Specific Optimizations
- Other Engine Specific Optimizations
Session 15: TUNING THE SERVER
- Status Variables
- Server Variables
- System Variables
- Per Client Variables
- Performance Schema Overview
- The Query Cache
- MySQL 8 Desupport of the Query Cache
Session 16: THE EVENT SCHEDULER
- Event scheduler concepts
- Event scheduler configuration
- Creating, altering and dropping events
- Event scheduler monitoring
- Events and privileges
Session 17: MYSQL SERVER INSTALLATION AND UPGRADE
- Installing MySQL on Linux and UNIX
- Upgrade the MySQL Server
- Deployment Security
- Database Server Access
Course Contents - DAY 5
Session 18: OVERVIEW OF HIGH AVAILABILITY
- High Availability Goals
- High Availability Concepts
- Design for High Availability
- Definition of Availability
- High Availability Terminology
Session 19: CONFIGURE MASTER SLAVE REPLICATION
- Replication Overview
- When to Use Replication
- Disadvantages of Replication
- Replication Factors
- Replication Architecture
- Complex Replication Topologies
- Replicating from InnoDB to MyISAM Tables
- Testing Replication
- Monitoring Replication Threads
- Excluding Databases or Tables from Replication
- Example: Setting Up a Master Slave Replication
- Replication Using GTIDs
- Controlled Switchover
- Configure Replication using MySQL Workbench
Session 20: ADMINISTER A REPLICATION TOPOLOGY
- MySQL Replication and Failover Utilities
- Access the Utilities from MySQL Workbench
- Replication Files and Threads
- Configure a Lagging Slave
- Monitoring Replication
- Troubleshooting Replication
- Semi-synchronous Replication
- Configure MySQL Failover
- ------------------------------------------------------------