Course Outline
Introduction
- MySQL Overview, Products, and Services
- MySQL Support Offerings
- Supported Operating Systems
- Training Curriculum Pathways
- MySQL Documentation Resources
MySQL Architecture
- The client/server model
- Communication protocols
- The SQL Layer
- The Storage Layer
- Server support for storage engines
- MySQL memory and disk space utilization
- The MySQL plug-in interface
System Administration
- Selecting the appropriate MySQL distribution type
- Installing the MySQL Server
- 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 files
- 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 tools
- Available APIs (drivers and connectors)
Data Types
- Major categories of data types
- The meaning of NULL
- Column attributes
- Character set usage with data types
- Selecting an appropriate data type
Obtaining Metadata
- Available methods for metadata access
- Structure of INFORMATION_SCHEMA
- Using available 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
- Utilizing transaction control statements for concurrent SQL execution
- The ACID properties of transactions
- Transaction isolation levels
- Using locking to protect transactions
Storage Engines
- Storage engines in MySQL
- InnoDB storage engine
- InnoDB system and file-per-table tablespaces
- NoSQL and the Memcached API
- Configuring tablespaces efficiently
- Using foreign keys for referential integrity
- InnoDB locking mechanisms
- Features of available storage engines
Partitioning
- Partitioning and its application in MySQL
- Rationale for using partitioning
- Types of partitioning
- Creating partitioned tables
- Subpartitioning
- Retrieving partition metadata
- Modifying partitions to enhance performance
- Storage Engine Support for Partitioning
User Management
- Requirements for user authentication
- Using SHOW PROCESSLIST to monitor running 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
- Security challenges and countermeasures for network, OS, filesystem, and users
- Data protection strategies
- Using SSL for secure MySQL server connections
- Leveraging SSH for secure remote MySQL access
- Resources for addressing 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
- Data Exporting and Importing
- Exporting Data
- Importing Data
Programming Inside MySQL
- Creating and executing Stored Routines
- Describing stored routine execution security
- Creating and executing triggers
- Creating, altering, and dropping events
- Scheduling event execution
MySQL Backup and Recovery
- Backup fundamentals
- Types of backup
- Backup tools and utilities
- Performing binary and text backups
- The role of log and status files in backups
- Data Recovery
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
- Analyzing Queries using EXPLAIN
- General Table Optimizations
- Monitoring status variables that impact performance
- Setting and Interpreting MySQL server Variables
- Overview of Performance Schema
Conclusion
Q&A Session
Requirements
While no specific prerequisites are required, it is beneficial if students possess a foundational understanding of databases.
Audience:
This course is ideal for IT professionals aiming to become Database Administrators (DBAs) or database support specialists working with MySQL on Linux and Windows platforms.
Format: 40% theory/lectures, 60% practical/hands-on lab
Custom Corporate Training
Training solutions designed exclusively for businesses.
- Customized Content: We adapt the syllabus and practical exercises to the real goals and needs of your project.
- Flexible Schedule: Dates and times adapted to your team's agenda.
- Format: Online (live), In-company (at your offices), or Hybrid.
Price per private group, online live training, starting from 6400 € + VAT*
Contact us for an exact quote and to hear our latest promotions
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.