You are here
Advanced MySQL DBA Workshop
With a partner we are planning and Advanced MySQL DBA workshop. As the name says it should be a workshop. Its planned duration is 2 days. So within 2 days we can cover 4 to 8 topics more deeply.
Requirements: VirtualBox, VMware, own Laptop?
Possible exercises during the workshop
- Set-up a Master-Master replication with 2 Slaves
- Load balance on master with MySQL Proxy and on Slaves with LVS.
- Design a little schema and load with data from foodmart
- Do a backup with XtraDB and LVM
- Do a PITR and and InnoDB crash recovery (from some samples)
- Find some discrepancies between master/slave
- Run some synthetic benchmark and monitor
Contents
Introduction
Admin
Who we are?
Tasks of a DBA
Discussion for focus
Planning and evaluating
Collecting information
Business plan, amount of users, expected traffic,
peak and average traffic, requirements, amount of data,
in what time range
Information Life Cycle Management
Plan architecture
DB vs. NO-SQL vs. no database
Storage Engines
MyISAM/Aria
InnoDB/XtraDB
MySQL Cluster (NDB)
Spider SE / InfiniDB / Infobright / ...
Architectures
Scale-out
High availability (HA)
Evaluate OS and Hardware
Operating System
Server (CPU, RAM, Network)
single-thread performance
I/O systems
RAID
SAN
Discussion about your personal evaluation / experience
Implement logical model into physical modelling
UML to ER
MySQL-Workbench
Normalization vs de-normalization
Schema optimizing
Database standards
Processes
Naming conventions
Maintenance and Operations
Installing the Software
The database
Package types
Compile your self
Multi instance set-up's (myenv?)
HA / failover components
MySQL - Proxy
LVS Load Balancer
Heartbeat/DRBD/Corosync ???
Upgrade / downgrade
Dump
Binary upgrade
Replication
Configure and reconfigure the database
Changeable and not changeable parameters
Change and impact: how to measure
Managing the database storage structure
InnoDB
File per table
Log files
The new barracuda file format
Log files
Binary Logs
Other logs
Interacting with the software vendor
Report a bug with MySQL
Report a bug with other providers
Open a support case with MySQL
Migration from/to MySQL
Migration tool kit
mysqldump
JDBC/ODBC
Stored Programs
Load and unload data (ETL)
Tools?
SELECT INTO OUTFILE
LOAD DATA INFILE
INSERT vs multi row INSERT vs. LOAD DATA INFILE
Operating a MySQL Database
Automate Everything
Backup/Restore (see further down)
Maintenance task
Monitoring (see further down)
Data protection
Backup/restore/recovery
Point-in-Time-Recovery (PITR)
LVM snapshots
InnoDB crashes
Recovery with the Percona recovery tools?
Xtrabackup
Maintaining database changes from development to test to production
repository (VCS)
mysqldump --nodata
FromDual Backup/Restore/Development/Production cycle
Managing users and security
Role concepts
Scripts to monitor users/security
Data Integrity
Master/Slave - find discrepancies with the Percona tools
Monitoring
Health / Availability
Key indicators
Parse the error log
Some scripts which assist you in monitoring
Performance
vmstat / iostat / top
mytop / innotop
MySQL Enterprise Monitoring
FromDual MySQL performance monitor
Load simulation/generation
Apache J/Meter
Performance Management and Tuning
First measure, then act, then measure again.
Predicting trends
Plan growth and changes (capacity planning)
Profiling is everything
The FromDual Performance Tuning Balance
The FromDual Database Health Check
Application tuning
The slow query log / profile
Execution plans
SESSION status diff
The first run of this workshop should take place in November. Please let us know what you think about the contents, so we can adapt it to your needs...