Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • Some OS level threshold for performance. Linux/Unix
  • oracle Dba site Oracle
  • FRA Information. Oracle
  • Oracle10g – Using SQLAccess Advisor (DBMS_ADVISOR) with the Automatic Workload Repository Oracle
  • More info about /proc folder and its relation with processes. Linux/Unix
  • normal maintenance for exp-imp and renaming table Oracle
  • move_arch_files.ksh Linux/Unix
  • Create type and Grant on it. Oracle
  • switchlogfile.sh Linux/Unix
  • Search and replace editor command in vi Linux/Unix
  • scp with ssh2 Linux/Unix
  • SYSOPER Mystery Oracle
  • TNSNAMES entries details Oracle
  • sess1.sql Oracle
  • newupload.html 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
  • V$INSTANCE of Oracle in MYSQL MYSQL
  • Oracle vs MYSQL Architecture differences (For DBAs) 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 (393)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (0)
  • 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

  • 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
  • V$INSTANCE of Oracle in MYSQL24-Jul-2025
  • Day to day MYSQL DBA operations (Compared with Oracle DBA)24-Jul-2025

Archives

  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • sql_doing_fts.sql Oracle
  • myfile Oracle
  • How to find password change date for user Oracle
  • DBMS_JOB all example Oracle
  • Rman Notes -1 Oracle
  • Best approach for Oracle database patching sequence to latest/required patchset along with CPU/PSU/any-other-one-off patch ID 865255.1 Oracle
  • online_bkup.sql Oracle
  • Reclaim temp tablespace for oracle 8, 8i Oracle

Copyright © 2025 pvmehta.com.

Powered by PressBook News WordPress theme