Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • Some useful Unix Commands Linux/Unix
  • move_arch_files.ksh Linux/Unix
  • cache buffer chain latch Oracle
  • Wait.sql Oracle
  • newupload.html PHP/MYSQL/Wordpress
  • Find All internal Parameters Oracle
  • ORA-8031 issue and solution if it is occuring due to truncate. Oracle
  • How To Transfer Passwords Between Databases (ref note: 199582.1) Oracle
  • temp_use.sql diplays usage of temp ts Oracle
  • Create type and Grant on it. Oracle
  • Clean up Oracle
  • find_idle_cpu.sql Oracle
  • Convert multiple rows to single column Oracle
  • how to find OS block size Oracle
  • Move WordPress site from one hosting service to other. PHP/MYSQL/Wordpress

MYSQL for Oracle DBA

Posted on 24-Jul-202524-Jul-2025 By Admin No Comments on MYSQL for Oracle DBA

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

  1. Installation on Linux (Ubuntu/CentOS)
    • apt install mysql-server or yum install mysql-server
    • Key config: /etc/my.cnf or /etc/mysql/my.cnf
  2. Server startup, shutdown
    • systemctl start|stop|status mysqld
    • mysqld_safe and mysqladmin
  3. Directory Structure
    • Data directory (@@datadir)
    • Log files: error.log, slow.log, binlog
  4. Architecture Overview
    • Storage Engines (InnoDB, MyISAM, MEMORY)
    • Single-process, multi-threaded
    • Buffer pool, redo logs, doublewrite buffer

✅ Phase 2: Core DBA Tasks

  1. User Management
    • CREATE USER, GRANT, REVOKE
    • mysql.user table (like dba_users)
  2. Backup and Restore
    • Logical: mysqldump, mysqlpump
    • Physical: xtrabackup (hot backup for InnoDB)
  3. Security Hardening
    • mysql_secure_installation
    • Removing test DB, anonymous users
    • Using caching_sha2_password
  4. Configuration Parameters
    • SHOW VARIABLES
    • Modify in my.cnf: innodb_buffer_pool_size, max_connections, etc.

✅ Phase 3: Monitoring and Troubleshooting

  1. Monitoring
    • SHOW FULL PROCESSLIST
    • performance_schema & information_schema
    • Tools: mysqladmin, Percona Toolkit, pmacct
  2. Locking & Concurrency
    • MVCC in InnoDB
    • Check locks: performance_schema.metadata_locks
  3. Slow Query Logging
    • Enable slow query log
    • Use mysqldumpslow, pt-query-digest

✅ Phase 4: Performance Tuning

  1. Query Optimization
    • Use EXPLAIN, ANALYZE FORMAT=JSON
    • Index design: SHOW INDEX, information_schema.statistics
  2. Buffer Pool & Caching
    • Key parameters: innodb_buffer_pool_size, query_cache_size (deprecated)
  3. MySQL Tuner
    • Use mysqltuner.pl to suggest tuning
  4. Table Statistics
    • ANALYZE TABLE, OPTIMIZE TABLE

✅ Phase 5: High Availability & Replication

  1. Replication
    • Async replication: master → replica
    • Semi-sync & GTID-based replication
    • SHOW SLAVE STATUS
  2. InnoDB Cluster
    • MySQL Shell, Group Replication
    • Requires MySQL 8+
  3. Failover
    • Tools: Orchestrator, MHA
    • Monitor replication lag

✅ Phase 6: Advanced Topics

  1. Stored Procedures / Triggers
    • Limited compared to PL/SQL
    • Use DELIMITER, BEGIN...END
  2. Events (Jobs)
    • MySQL Event Scheduler (information_schema.events)
  3. Partitioning
    • RANGE, LIST, HASH (less flexible than Oracle)
  4. Tablespaces
    • InnoDB general vs file-per-table
    • CREATE TABLESPACE in 8.0+

✅ Phase 7: Migration & Tools

  1. Migration Tools
    • Oracle → MySQL: MySQL Workbench, ora2pg, AWS SCT
  2. Data Types Mapping
    • NUMBER → DECIMAL, VARCHAR2 → VARCHAR, DATE/TIMESTAMP match closely
  3. SQL Differences
    • No packages, limited error handling
    • Use DELIMITER, SIGNAL for error

MYSQL

Post navigation

Previous Post: load SPM baseline from cursor cache
Next Post: MYSQL and Oracle Comparison for Oracle DBA

Related Posts

  • Day to day MYSQL DBA operations (Compared with Oracle DBA) MYSQL
  • Oracle vs MYSQL Architecture differences (For DBAs) MYSQL
  • V$INSTANCE of Oracle in MYSQL MYSQL
  • MYSQL and Oracle Comparison for Oracle DBA MYSQL

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Categories

  • Ansible (0)
  • AWS (2)
  • Azure (1)
  • Linux/Unix (149)
  • MYSQL (5)
  • Oracle (392)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (0)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (17)
  • rman-dataguard (26)
  • shell (149)
  • SQL scripts (341)
  • SQL Server (6)
  • Uncategorized (0)
  • Videos (0)

Recent Posts

  • SQL Server Vs Oracle Architecture difference25-Jul-2025
  • SQL Server: How to see historical transactions25-Jul-2025
  • SQL Server: How to see current transactions or requests25-Jul-2025
  • T-SQL Vs PL/SQL Syntax25-Jul-2025
  • Check SQL Server edition25-Jul-2025
  • Checking SQL Server Version25-Jul-2025
  • Oracle vs MYSQL Architecture differences (For DBAs)24-Jul-2025
  • V$INSTANCE of Oracle in MYSQL24-Jul-2025
  • Day to day MYSQL DBA operations (Compared with Oracle DBA)24-Jul-2025
  • MYSQL and Oracle Comparison for Oracle DBA24-Jul-2025

Archives

  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • lck.sql Oracle
  • checking connectivity between two servers Linux/Unix
  • TRUNCATE Privs Oracle
  • PHP code to add WordPress posts in bulk programmatically PHP/MYSQL/Wordpress
  • Rman Notes -1 Oracle
  • reset Sequence Oracle
  • The most important Tuning Notes Oracle
  • CPU Core related projections AWS

Copyright © 2025 pvmehta.com.

Powered by PressBook News WordPress theme