首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 系統庫 information_schema 與 mysql:功能解析與不可刪除性說明

     編輯:MySQL 綜合教學

新裝 MySQL 包含的兩個系統庫

  • information_schema
  • mysql

結論:絕對不可刪除!

1. information_schema:數據字典與元數據倉庫

  • 存儲 MySQL 服務器**所有對象的定義信息**:數據庫、表、列、索引、視圖、存儲過程、觸發器、權限等
  • 實時反映**進程訪問狀態**、**統計信息**、**鎖狀態**等運行時數據
  • 本質是**虛擬表**,不佔用實際磁盤空間(僅佔用內存)
  • 刪除後 MySQL 核心功能癱瘓:無法解析表結構、無法權限校驗、無法優化查詢

2. mysql:核心權限與系統數據庫

  • 存儲**用戶賬戶**、**權限表**(user、db、tables_priv、columns_priv、procs_priv 等)
  • 存儲**時區數據**、**幫助文檔**、**事件調度器任務**、**插件信息**等系統數據
  • 支援 GRANT/REVOKE、CREATE USER 等權限操作的底層存儲
  • 刪除後:所有用戶無法登入、權限體系崩潰、系統功能不可用

常見誤區澄清

「這兩個庫很小不佔空間,為什麼要刪除?」

正是因為它們是**核心基礎設施**,而非業務數據,所以**體積小、不可刪、不可遷移、不可輕易修改**。

information_schema 具體包含什麼?(通俗解釋)

這台 MySQL 服務器上:

  • 有哪些數據庫?
  • 每個庫有哪些表?
  • 每張表的字段名、類型、長度、編碼?
  • 有哪些索引?索引類型?
  • 有哪些視圖?定義 SQL?
  • 有哪些存儲過程/函數?參數簽名?
  • 當前有哪些連接?執行什麼 SQL?鎖狀態?
  • 表統計信息:行數、數據長度、索引長度...

所有這些**元數據**都在 information_schema 的各張虛擬表中實時可查。

操作建議

  • 僅作為**只讀查詢**使用:SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA='mydb'
  • 嚴禁任何 DROP、TRUNCATE、DELETE、UPDATE 操作
  • 備份策略中**無需**單獨備份這兩個庫(重裝 MySQL 自動初始化)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved