Udemy - Becoming a Production MySQL DBA
Becoming a Production MySQL DBA
What you'll learn
- You will learn how to install latest version of MySQL Server including MariaDB and Percona Server for MySQL.
 - You will learn how to secure the installation of MySQL and how to start/stop/restart MySQL service using systemd.
 - You will learn how to customize MySQL server configuration, how to store InnoDB log files, binary log files, MySQL server log files in separate locations.
 - You will learn how to connect to MySQL locally as well as remotely and how to perform database administration.
 - You will learn how to perform minor and major MySQL upgrades, how to install new components and remove plugins.
 - You will learn how to setup GTID-based master-slave replication, and how to setup filtered replication.
 - You will learn how to take logical as well as physical backup, how to restore MySQL backups, how to setup a new slave from backup.
 - You will learn how to troubleshoot MySQL server issues.
 - You will learn how to run MySQL in Docker
 
Course content
Introduction
- Course Introduction
 - Why MySQL?
 - DBA vs Developer Course
 - Meet Bob, The Future DBA
 
MySQL Server Installation
- Preparing VM for MySQL Server Installation
 - Installing MySQL Server Community Edition
 - Installing MariaDB Database Server
 - Installing Percona Server for MySQL Server
 - Removing MySQL
 - Installing Specific Version of MySQL
 - Demo - Installing Specific Version of MySQL
 - Manually Download RPMs and Locally Install
 - Demo - Manually Download RPMs and Locally Install
 - Performing MySQL Secure Installation
 - Demo - Performing MySQL Secure Installation
 - Installing MySQL on Ubuntu
 - Linux Utilities
 - Demo - Linux Utilities
 - Section Recap - What Bob has learned so for
 - Quiz on MySQL Server Installation
 
Exploring MySQL Server
- MySQL Architecture
 - MySQL Installed File Locations
 - Demo - MySQL Installed File Locations
 - MySQL Executable Programs
 - MySQL Service under SystemD
 - MySQL Shell Commands
 - Demo - MySQL Shell Commands
 - MySQL Socket File
 - Demo - MySQL Socket File
 - MySQL GLOBAL Variables
 - Demo - Global Variables
 - MySQL SESSION Variables
 - Demo - MySQL SESSION Variables
 - Getting System Variables Help
 - MySQL SHOW Command
 - Demo - MySQL SHOW Command
 - MySQL System Databases
 - Demo - MySQL System Databases
 - MySQL Local vs Remote Connections
 - Demo - MySQL Local vs Remote Connections
 - MySQL Shell
 - Section Recap - What Bob has learned...
 - Quiz on Exploring MySQL Server
 
Basic MySQL Database Administration
- Storing MySQL Authentication Credentials
 - Assignment - Login to MySQL Without Credentials
 - mysqladmin - MySQL Administration Program
 - Assignment - Perform DBA tasks with mysqladmin
 - Executing SQL Files
 - Assignment - Execute employees.sql SQL File
 - Executing SQL Commands From Terminal
 - Importing data with mysqlimport
 - Assignment - Import staff.txt file
 - Maintaining Integrity with mysqlcheck
 - Assignment - Perform mysqlcheck on staff table
 - Displaying useful Information with mysqlshow
 - Assignment - Get Report on employees database and its tables
 - Time Zone Tables
 - Assignment - Load Time Zone Tables into MySQL
 - MySQL Example Databases
 - Assignment - Download World Database
 - Listing Binary Logs Events with mysqlbinlog
 - Assignment - Investigate When Database was dropped
 - Section Recap - What Bob has learned...
 - Quiz on Basic MySQL Server Administration
 
MySQL Storage Engines
- Storage Engines
 - Exploring Storage Engines
 - FEDERATED Storage Engine
 - MEMORY Storage Engine
 - Assignment - MEMORY Storage Engine
 - BLACKHOLE Storage Engine
 - Assignment - BLACKHOLE Storage Engine
 - CSV Storage Engine
 - Assignment - CSV Storage Engine
 - MyISAM Storage Engine
 - Assignment - MyISAM Storage Engine
 - ARCHIVE Storage Engine
 - Assignment - ARCHIVE Storage Engine
 - InnoDB Storage Engine
 - Assignment - InnoDB Storage Engine
 - Checking Storage Engine Status
 - Switching Storage Engine
 - Installing New Storage Engine
 - Disabling Storage Engine
 - Section Recap - What Bob has learned...
 - Quiz on MySQL Storage Engines
 
MySQL User Administration
- DBA Account
 - MySQL Permissions
 - WITH GRANT OPTION
 - Assignment - Create DBA Account
 - Connecting to MySQL
 - Exploring MySQL Workbench
 - Creating Regular MySQL Users
 - Grant Permissions
 - Lock/Unlock MySQL Account
 - mysql_native_password & caching_sha2_password auth plugins
 - MySQL Roles
 - Assignment - MySQL Roles
 - Section Recap - What Bob has learned...
 - Quiz on MySQL User Administration
 
MySQL Server Configuration
- MySQL Default Configuration File
 - Assignment - Locate Default Option File
 - MySQL Option/Configuration File Syntax
 - Assignment - Re-Write Default Option File
 - Variable or Option in Option File?
 - Changing Default Option Files Location
 - Assignment - Change Default Location of Option File
 - STRACE & LSOF With MySQL
 - Demo - STRACE & LSOF
 - Option File Inclusions
 - Assignment - Option File Inclusions
 - DATA_DIR MySQL Data Directory
 - Assignment - Move DATA DIRECTORY
 - Binary Log Files
 - Purging Binary Log Files
 - Assignment - Disable Binary Logging
 - Assignment - Enable Binary Logging
 - Binary Logs Retention
 - MySQL Error Log File
 - Assignment - Change MySQL Error Log File Location
 - Adjusting Timestamp of MySQL Error Log File
 - MySQL TEMP Directory
 - Assignment - Change TMPDIR Location
 - Removing Double-Entry for MySQL Error Log File
 - Section Recap - What Bob has learned...
 - Quiz on MySQL Server Configuration
 
InnoDB Storage Engine Configuration
- InnoDB Storage Engine
 - InnoDB Architecture
 - InnoDB Buffer Pool
 - Demo - InnoDB Buffer Pool
 - InnoDB Log Buffer
 - Assignment - InnoDB Log Buffer
 - InnoDB Flush Method
 - O_DIRECT OR O_DIRECT_NO_FSYNC
 - Assignment - Change InnoDB Flush Method
 - Doublewrite Buffer
 - Assignment - Doublewrite Buffer
 - Flushing Logs at Transaction Commit
 - Assignment - Setting value of innodb_flush_log_at_trx_commit
 - InnoDB Redo Log Files
 - Assignment 1 - InnoDB Redo Log Files
 - Assignment 2 - InnoDB Redo Log Files
 - Assignment 3 - InnoDB Redo Log Files
 - System Tablespace
 - Assignment - System Tablespace
 - Undo Tablespaces
 - Demo - Undo Tablespaces
 - Temporary Tablespaces
 - General Tablespaces
 - File-Per-Table Tablespaces
 - Dedicated MySQL Server
 - Turning Dedicated Server ON
 - Overriding Dedicated Server Settings
 - Section Recap - What Bob has learned...
 - Quiz on Storage Engine Configuration
 
MySQL Backup & Restore
- MySQL Backups
 - Physical/Cold Backup
 - Assignment - Perform Physical/Cold Backup
 - Assignment - Restore From Physical/Cold Backup
 - Files needed for Cold Backup
 - Logical Backups
 - MySQLDUMP Backup Program
 - Assignment - Take Backup with MySQLDUMP
 - Restoring from MySQLDUMP
 - MySQLPUMP Backup Program
 - Demo 1 - MySQLPUMP
 - Demo 2 - MySQLPUMP
 - Assignment - Backing Up MySQL Accounts
 - Assignment - Restore MySQL Account
 - Compressing MySQL Backups
 - Assignment - Compress MySQL Backup
 - Assignment - Restore MySQL Compressed Backup
 - Creating Consistent Data Dump
 - CREATE TABLE LIKE SQL Statement
 - MySQL Hot Backup
 - MySQL Hot Backup Tools
 - XtraBackup Hot Backup Tool
 - Assignment - Download & Install XtraBackup
 - Assignment - Backup with XtraBackup
 - Assignment - XtraBackup Backup Files
 - Preparing Hot Backup Restore
 - Assignment - Restore From Hot Backup
 - Section Recap - What Bob has learned...
 - Quiz on MySQL Backup & Restore
 
MySQL Server Replication
- Replication Concepts
 - Replication Methods
 - Replication Formats
 - Replication Formats Comparison
 - General Replication Setup Requirements
 - Primary Server
 - Assignment - Configure Primary Server
 - Cleanup Options from Option File
 - Demo 1 - Install MySQL On Replica Server
 - Demo 2- Install MySQL On Replica Server
 - Start MySQL on Replica
 - Hot Backup on Primary for Replication
 - Copy Hot Backup from Primary to Replica
 - Restore Hot Backup on Replica
 - Replica Server Configuration
 - Assignment - Configure Replica
 - Configure Binary Log Position Based Replication
 - Assignment - Configure Binary Log Replication
 - Set Report Host on Replica
 - SHOW REPLICA STATUS
 - Demo - Replica IO_THREAD
 - Demo - Replica SQL_THREAD
 - Demo - Ignore Database
 - Demo - Ignore Table
 - Cleanup Traditional Replication
 - Setting up GTID Replication
 - GTID Replication Requirements
 - Prepare GTID Replication
 - Assignment - Setup GTID Replication
 - Start Replica Until Command
 - Demo - Start Replica with Until
 - Primary Replica Failover
 - Prepare Primary Replica Failover
 - Assignment - Failover Primary to Replica
 - Assignment - Configure Old Primary to Replica
 - Section Recap - What Bob has learned...
 - Quiz on MySQL Server Replication
 
Upgrading MySQL Server
- Types of MySQL Version Upgrades
 - Preparing for Minor Version Upgrade
 - Assignment - Perform Minor Version Upgrade
 - Demo - Primary & Replica Version Compatibility
 - Installing MySQL 5.7
 - Download World Example Database
 - mysqlcheck - Pre-Upgrade Check
 - mysqlsh script - Pre-Upgrade Check
 - Demo - Perform MySQL Major Version Upgrade
 - Section Recap - What Bob has learned...
 - Quiz on Upgrading MySQL Server
 
Docker and MySQL
- Introduction
 - Install Docker
 - Pull & Inspect MySQL Docker Image
 - Run MySQL as Container
 - MySQL Container Logs
 - MySQL Container Host
 - Removing MySQL Container
 - Exposing Port From Container to Host
 - Create DBA User Bob
 - Remotely Login to MySQL Container
 - Demo - Data Loss at Container Removal
 - Bind Volume For Data Persistence
 - Demo - Persistant Volume
 - Converting MySQL Instance to Container
 - Installing MySQL Server on Docker Host
 - Demo - Attach Container to Instance
 - Section Recap - What Bob has learned...
 
DBA Tips & Tricks Club
- Welcome to the DBA Club
 - DBA Tip - Customizing MySQL Prompt
 - Demo - Customizing MySQL Prompt
 - Demo - Customization via local file
 - DBA Tip - Validating MySQL Configurations File
 
Cloud Database Administration
- Cloud Database Lab Setup Introduction
 - Cloud Project Highlights
 - Create Droplets on DigitalOcean
 - Disable SELINUX & Reboot Droplets
 - Install MySQL Server
 - Secure Installation & Admin Users
 - Restore Backup Primary to Replica
 - Setup GTID Based Replication
 - Add Report-Host for Replica
 - Setup Cloud Replica on AWS
 - Install MySQL on Cloud Replica
 - Online Data Duplication Requirements
 - Installing Requirement Tools
 - Setup Cloud Replica
 
Database Scripting
- What we will cover?
 - Introduction to Shell Scripting
 - Shell Script Executable Permissions
 - Bash Script Shebang
 - Mixing Text & Shell Commands
 - Shell Script Arguments
 - Adding Comments to Shell Script
 - Create Your First Shell Script
 - Using Shell Variables
 - Demo - Shell Variables
 - Output of Command as Variable
 - For Loop in Bash Scripting
 - Assignment - Create Shell Script to Create MySQL Users
 - Solution - Shell Script to Create MySQL Accounts
 - Assignment - Create Shell Script to Download Example Database
 - Solution - Shell Script to Download Example Database
 - Assignment - Shell Script to Create Table in Specific Databases
 - Solution - Shell Script to Create Table in Specific Databases
 - Introduction to Percona Toolkit
 - Installing Percona Toolkit
 - Getting MySQL Report from pt-mysql-summary
 - Getting System Summary Report with pt-summary
 - MySQL Slow Query Log
 - Enabling Slow Query Log
 - mysqldumpslow utility
 - pt-query-digest utility