Excellent! Since you’re already a seasoned Oracle DBA on Linux, transitioning to MySQL will be straightforward — but you’ll need to shift focus to MySQL’s different architecture, tooling, and storage engine model.
🧠Training Plan: MySQL DBA for Oracle DBAs (Linux-Based)
We’ll cover the following areas step-by-step. Each topic will include theory, practical commands, and best practices.
✅ Phase 1: MySQL Basics & Architecture
- Installation on Linux (Ubuntu/CentOS)
apt install mysql-serveroryum install mysql-server- Key config:
/etc/my.cnfor/etc/mysql/my.cnf
- Server startup, shutdown
systemctl start|stop|status mysqldmysqld_safeandmysqladmin
- Directory Structure
- Data directory (
@@datadir) - Log files:
error.log,slow.log,binlog
- Data directory (
- Architecture Overview
- Storage Engines (InnoDB, MyISAM, MEMORY)
- Single-process, multi-threaded
- Buffer pool, redo logs, doublewrite buffer
✅ Phase 2: Core DBA Tasks
- User Management
CREATE USER,GRANT,REVOKEmysql.usertable (likedba_users)
- Backup and Restore
- Logical:
mysqldump,mysqlpump - Physical:
xtrabackup(hot backup for InnoDB)
- Logical:
- Security Hardening
mysql_secure_installation- Removing test DB, anonymous users
- Using
caching_sha2_password
- Configuration Parameters
SHOW VARIABLES- Modify in
my.cnf:innodb_buffer_pool_size,max_connections, etc.
✅ Phase 3: Monitoring and Troubleshooting
- Monitoring
SHOW FULL PROCESSLISTperformance_schema&information_schema- Tools:
mysqladmin,Percona Toolkit,pmacct
- Locking & Concurrency
- MVCC in InnoDB
- Check locks:
performance_schema.metadata_locks
- Slow Query Logging
- Enable slow query log
- Use
mysqldumpslow,pt-query-digest
✅ Phase 4: Performance Tuning
- Query Optimization
- Use
EXPLAIN,ANALYZE FORMAT=JSON - Index design:
SHOW INDEX,information_schema.statistics
- Use
- Buffer Pool & Caching
- Key parameters:
innodb_buffer_pool_size,query_cache_size(deprecated)
- Key parameters:
- MySQL Tuner
- Use
mysqltuner.plto suggest tuning
- Use
- Table Statistics
ANALYZE TABLE,OPTIMIZE TABLE
✅ Phase 5: High Availability & Replication
- Replication
- Async replication:
master → replica - Semi-sync & GTID-based replication
SHOW SLAVE STATUS
- Async replication:
- InnoDB Cluster
- MySQL Shell, Group Replication
- Requires MySQL 8+
- Failover
- Tools: Orchestrator, MHA
- Monitor replication lag
✅ Phase 6: Advanced Topics
- Stored Procedures / Triggers
- Limited compared to PL/SQL
- Use
DELIMITER,BEGIN...END
- Events (Jobs)
- MySQL Event Scheduler (
information_schema.events)
- MySQL Event Scheduler (
- Partitioning
- RANGE, LIST, HASH (less flexible than Oracle)
- Tablespaces
- InnoDB general vs file-per-table
CREATE TABLESPACEin 8.0+
✅ Phase 7: Migration & Tools
- Migration Tools
- Oracle → MySQL:
MySQL Workbench,ora2pg,AWS SCT
- Oracle → MySQL:
- Data Types Mapping
NUMBER→DECIMAL,VARCHAR2→VARCHAR,DATE/TIMESTAMPmatch closely
- SQL Differences
- No packages, limited error handling
- Use
DELIMITER,SIGNALfor error
