五、Oracle vs MySQL 架构深度对比笔记 文章目录一、核心架构差异图解1️⃣ MySQL 架构单进程多库模式2️⃣ Oracle 架构软件管库库管用户模式二、安装界面名词解释 典型安装配置截图解析1. 全局数据库名 (Global Database Name)2. 管理口令 (Management Password)三、终极概念对标表四、实操代码对比MySQL 操作流程Oracle 操作流程五、一句话记忆法 比喻记忆 核心要点六、常见疑问解答Q1: Oracle 真的只能一个实例对应一个数据库吗Q2: 为什么 Oracle 要用用户代替数据库Q3: 我学习时应该用哪个 总结一、核心架构差异图解1️⃣ MySQL 架构单进程多库模式表集合表集合多个数据库MySQL Server - 一个进程mysqld 进程内存线程database1database2database3table1table2table3table4特点✅一个进程(mysqld) 管理多个数据库✅ 轻量级快速切换数据库✅ 适合互联网快速开发2️⃣ Oracle 架构软件管库库管用户模式数据库2 (sales.company.com)数据库1 (orcl.company.com)Oracle 软件安装用户B的表用户A的表用户/Schema集合Oracle 程序文件oracle.exe实例1内存后台进程用户ASchema A用户BSchema B用户CSchema Ctable1table2table3table4实例2内存后台进程用户D用户E特点✅一套软件管理多个数据库每个数据库有唯一全局名✅ 传统架构一个数据库 一个实例✅用户 ≈ 数据库在 Oracle 中创建用户就等于创建了一个独立的表空间✅ 重量级适合企业级应用二、安装界面名词解释 典型安装配置截图解析┌─────────────────────────────────────────┐ │ 全局数据库名(G): orcl │ ← 数据库的唯一身份证 │ 管理口令(P): ****** │ ← ② 超级管理员密码 │ 确认口令(C): ****** │ ← ③ 确认密码 ─────────────────────────────────────────┘1. 全局数据库名 (Global Database Name)理解就是数据库的前缀名/唯一标识**详细说明格式数据库名.域名例如orcl.company.com作用在网络环境中唯一标识这个数据库类比就像网站的域名用来区分不同的数据库服务举例公司全局数据库名说明公司 Aorcl.companyA.com主数据库公司 Bsales.companyB.com销售系统数据库你的电脑orcl或orcl.localdomain默认安装重点同一台服务器上可以运行多个 Oracle 数据库每个都有不同的全局数据库名2. 管理口令 (Management Password)解释这是 Oracle 数据库最高管理员SYS 和 SYSTEM 用户的密码对标 MySQLMySQL: root 用户密码 Oracle: SYS / SYSTEM 用户密码Oracle 默认管理员用户权限级别类比SYS最高权限类似 root数据库的上帝SYSTEM管理权限稍低数据库的管理员安装后登录方式# 方式1免密登录Windowssqlplus / as sysdba# 方式2密码登录sqlplus system/你的密码orcl# 方式3完整连接sqlplus sys/你的密码orcl as sysdba三、终极概念对标表概念MySQLOracle核心区别运行程序mysqld进程实例 (Instance)都是活的在内存里跑物理文件data/目录.dbf,.ctl,.log都是死的在硬盘上存数据集合Database (数据库)Schema (模式/用户)最关键区别最高管理员rootSYS/SYSTEM都有超级管理员唯一标识localhost:3306全局数据库名Oracle 用域名式命名创建逻辑库CREATE DATABASECREATE USEROracle 用用户代替库四、实操代码对比MySQL 操作流程-- 1. 创建数据库CREATEDATABASEmydb;-- 2. 使用数据库USEmydb;-- 3. 创建表CREATETABLEusers(idINTPRIMARYKEY,nameVARCHAR(50));Oracle 操作流程-- 1. 创建用户相当于创建数据库CREATEUSERmyuser IDENTIFIEDBYpassword;-- 2. 授权GRANTCONNECT,RESOURCETOmyuser;-- 3. 切换到用户CONNECTmyuser/password;-- 4. 创建表CREATETABLEusers(id NUMBERPRIMARYKEY,name VARCHAR2(50));结论Oracle 的“用户Schema” ≈ MySQL 的数据库Database五、一句话记忆法 比喻记忆系统比喻说明MySQL大管家管多个小房间一个管家进程管理多个房间数据库每个房间里有家具表Oracle物业管多栋大楼物业公司软件管理多栋大楼数据库每栋楼分给不同业主用户业主自己装修建表 核心要点MySQL 一个进程 → 多个数据库 → 多张表 Oracle 一套软件 → 多个数据库全局名唯一→ 多个用户 → 多张表六、常见疑问解答Q1: Oracle 真的只能一个实例对应一个数据库吗A: 传统架构是这样但✅ 一台服务器可以启动多个实例每个实例管理一个数据库✅ OracleRAC技术可以让多个实例同时管理一个数据库高可用Q2: 为什么 Oracle 要用用户代替数据库A:安全性每个用户有独立的权限和表空间隔离性不同业务系统用不同用户互不干扰管理方便DBA 可以按用户分配存储配额Q3: 我学习时应该用哪个A:初学者先用 MySQL简单快捷企业需求必须学 Oracle银行、政府、大企业都在用最佳策略两者都学理解原理相通 总结MySQL 是轻量级多库管理—— 适合快速开发Oracle 是重量级企业方案—— 适合高可靠场景没有最好的数据库只有最适合的数据库