Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • Exadata Basics Oracle
  • findinfo.sql (SQL for getting CPU and Active session info) Oracle
  • Consolidated Reference List Of Notes For Migration / Upgrade Service Requests -ID 762540.1 Oracle
  • Read CSV File using Python Python/PySpark
  • Very clear article about oracle dataguard Oracle
  • kill all processes from specific user in solaris. Linux/Unix
  • Some OS level threshold for performance. Linux/Unix
  • VIvek Encryption Package and Its Usage Oracle
  • fdisk -l explaination about Primary-Logical-Extended Partitions Linux/Unix
  • SQL Tracker by SID sqltrackerbysid.sql Oracle
  • To see only files and/or folders using LS command Linux/Unix
  • fkwoind.sql fkwoindex.sql Oracle
  • Disbaling DBA_SCHEDULER_JOBS Oracle
  • arch_configUOCIOTTO.ora Oracle
  • FGA Part-I Oracle

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

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

Leave a Reply Cancel reply

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

Categories

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

Recent Posts

  • Complete Git Tutorial for Beginners25-Dec-2025
  • Postgres DB user and OS user.25-Dec-2025
  • Trace a SQL session from another session using ORADEBUG30-Sep-2025
  • 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

Archives

  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • segment_wise_space.sql segspace.sql Segment wise space usage (allocated and used) Oracle
  • New OFA for 11g Oracle
  • oradebug ipcrm ipcs Oracle
  • findobj.sql Oracle
  • Reading config file from other folder inside class Python/PySpark
  • Jai Shree Ram Oracle
  • To check whether standby is recovering properly or not?? Oracle
  • tblwopk.sql tablewopk.sql Oracle

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme