Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Introduction
- Overview of MySQL, its products, and services
- MySQL services and support options
- Supported operating systems
- Available training curriculum paths
- MySQL documentation and learning resources
MySQL Architecture
- Understanding the client/server model
- Communication protocols
- The SQL Layer
- The Storage Layer
- Server support for storage engines
- Memory and disk space utilization
- The MySQL plug-in interface
System Administration
- Choosing the right MySQL distribution types
- Installing the MySQL Server
- Understanding the MySQL Server installation file structure
- Starting and stopping the MySQL server
- Upgrading MySQL
- Running multiple MySQL servers on a single host
Server Configuration
- MySQL server configuration options
- System variables
- SQL Modes
- Available log file types
- Binary logging
Clients and Tools
- Available clients for administrative tasks
- MySQL administrative clients
- The mysql command-line client
- The mysqladmin command-line client
- The MySQL Workbench graphical client
- MySQL utility tools
- Available APIs (drivers and connectors)
Data Types
- Major categories of data types
- Understanding the meaning of NULL
- Column attributes
- Character set usage with data types
- Selecting appropriate data types
Obtaining Metadata
- Methods for accessing metadata
- Structure of the INFORMATION_SCHEMA
- Using commands to view metadata
- Differences between SHOW statements and INFORMATION_SCHEMA tables
- The mysqlshow client program
- Using INFORMATION_SCHEMA queries to generate shell commands and SQL statements
Transactions and Locking
- Using transaction control statements to run multiple SQL statements concurrently
- The ACID properties of transactions
- Transaction isolation levels
- Using locking mechanisms to protect transactions
Storage Engines
- Overview of storage engines in MySQL
- InnoDB storage engine
- InnoDB system and file-per-table tablespaces
- NoSQL and the Memcached API
- Efficiently configuring tablespaces
- Using foreign keys for referential integrity
- InnoDB locking mechanisms
- Features of available storage engines
Partitioning
- Understanding partitioning in MySQL
- Reasons for using partitioning
- Types of partitioning
- Creating partitioned tables
- Subpartitioning
- Obtaining partition metadata
- Modifying partitions to enhance performance
- Storage Engine Support of Partitioning
User Management
- Requirements for user authentication
- Using SHOW PROCESSLIST to monitor active threads
- Creating, modifying, and dropping user accounts
- Alternative authentication plugins
- Requirements for user authorization
- Levels of access privileges for users
- Types of privileges
- Granting, modifying, and revoking user privileges
Security
- Identifying common security risks
- Security risks specific to MySQL installations
- Addressing security problems and counter-measures for network, OS, filesystem, and users
- Protecting your data
- Using SSL for secure MySQL server connections
- Leveraging SSH for secure remote connections to the MySQL server
- Resources for resolving common security issues
Table Maintenance
- Types of table maintenance operations
- SQL statements for table maintenance
- Client and utility programs for table maintenance
- Maintaining tables for other storage engines
- Exporting and Importing Data
- Exporting Data
- Importing Data
Programming Inside MySQL
- Creating and executing Stored Routines
- Security considerations for stored routine execution
- Creating and executing triggers
- Creating, altering, and dropping events
- Scheduling event execution
MySQL Backup and Recovery
- Backup fundamentals
- Types of backups
- Backup tools and utilities
- Creating binary and text backups
- The role of log and status files in backups
- Data Recovery strategies
Replication
- Managing the MySQL Binary Log
- MySQL replication threads and files
- Setting up a MySQL Replication Environment
- Designing Complex Replication Topologies
- Multi-Master and Circular Replication
- Performing a Controlled Switchover
- Monitoring and Troubleshooting MySQL Replication
- Replication with Global Transaction Identifiers (GTIDs)
Introduction to Performance Tuning
- Using EXPLAIN to analyze queries
- General table optimizations
- Monitoring status variables that impact performance
- Setting and Interpreting MySQL server Variables
- Overview of the Performance Schema
Conclusion
Q&A Session
Requirements
While there are no strict prerequisites, familiarity with basic database concepts is beneficial.
Target Audience:
This course is designed for IT professionals aiming to establish themselves as DBAs or database support specialists for MySQL databases on Linux and Windows platforms.
Format: 40% theory and lectures, 60% practical hands-on lab exercises
28 Hours
Testimonials (1)
Was carefully tailored to our needs, very responsive to live questions and situations, gave us lots of practice repeating what we were learning.