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 service offerings and support options
- Supported operating systems
- Recommended training curriculum paths
- Accessing MySQL documentation resources
MySQL Architecture
- The client-server model
- Communication protocols
- The SQL Layer
- The Storage Layer
- How the server integrates storage engines
- Memory and disk space utilization in MySQL
- The MySQL plug-in interface
System Administration
- Selecting appropriate MySQL distribution types
- Installing the MySQL Server
- Understanding the MySQL Server file structure
- Starting and stopping the MySQL server
- Upgrading MySQL versions
- Running multiple MySQL instances on a single host
Server Configuration
- MySQL server configuration options
- System variables
- SQL Modes
- Available log files
- Binary logging
Clients and Tools
- Clients available for administrative tasks
- MySQL administrative clients
- The mysql command-line client
- The mysqladmin command-line client
- The MySQL Workbench graphical interface
- MySQL utility tools
- Available APIs (drivers and connectors)
Data Types
- Major categories of data types
- The significance of NULL values
- Column attributes
- Character set considerations with data types
- Selecting appropriate data types
Obtaining Metadata
- Methods for accessing metadata
- The structure of 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 for concurrent SQL execution
- The ACID properties of transactions
- Transaction isolation levels
- Using locking mechanisms to protect transactions
Storage Engines
- Overview of storage engines in MySQL
- The InnoDB storage engine
- InnoDB system and file-per-table tablespaces
- NoSQL and the Memcached API
- Efficient configuration of tablespaces
- Achieving referential integrity using foreign keys
- InnoDB locking mechanisms
- Features of various storage engines
Partitioning
- Partitioning concepts and their application in MySQL
- Reasons for implementing partitioning
- Different types of partitioning
- Creating partitioned tables
- Subpartitioning techniques
- Retrieving partition metadata
- Modifying partitions to enhance performance
- Storage Engine support for partitioning
User Management
- User authentication requirements
- Using SHOW PROCESSLIST to monitor running threads
- Creating, modifying, and removing user accounts
- Alternative authentication plugins
- User authorization requirements
- Hierarchy of access privileges
- Types of privileges
- Granting, modifying, and revoking user privileges
Security
- Identifying common security risks
- Security risks specific to MySQL installations
- Addressing security issues related to network, OS, filesystem, and users
- Strategies for data protection
- Using SSL for secure MySQL server connections
- Utilizing SSH for secure remote connections to the MySQL server
- Sourcing additional information for common security issues
Table Maintenance
- Categories of table maintenance operations
- SQL statements used for table maintenance
- Client and utility programs for table maintenance
- Maintaining tables across different storage engines
- Data Export and Import
- Exporting Data
- Importing Data
Programming Inside MySQL
- Creating and executing Stored Routines
- Security aspects of stored routine execution
- Creating and executing triggers
- Creating, altering, and dropping events
- Scheduling event execution
MySQL Backup and Recovery
- Fundamentals of backup processes
- Types of backups
- Backup tools and utilities
- Creating binary and text backups
- The role of log and status files in backups
- Data Recovery procedures
Replication
- Managing the MySQL Binary Log
- MySQL replication threads and files
- Setting up a MySQL Replication Environment
- Designing complex replication topologies
- Implementing Multi-Master and Circular Replication
- Performing controlled switchover
- Monitoring and troubleshooting MySQL replication
- Replication using Global Transaction Identifiers (GTIDs)
Introduction to Performance Tuning
- Analyzing queries using EXPLAIN
- General table optimization techniques
- Monitoring status variables that impact performance
- Configuring and interpreting MySQL server variables
- Overview of the Performance Schema
Conclusion
Q&A Session
Requirements
While no strict prerequisites are required, it is beneficial for students to have a foundational understanding of database concepts.
Audience:
This course is designed for IT professionals aiming to become Database Administrators (DBAs) or database support specialists for MySQL on Linux and Windows platforms.
Format: 40% theoretical instruction, 60% practical, hands-on laboratory work.
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.