首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 學習路徑與核心知識體系總結

     編輯:MySQL 資料庫相關知識

學習一門數據庫的標準路徑

  1. 用途定位、安裝部署、啟停操作
  2. 日志體系、用戶權限與安全、字符集
  3. 備份恢復策略、事務控制
  4. 常用工具、Schema 設計(表、視圖、索引、存儲過程、觸發器)
  5. 內部機制(鎖、MVCC)、性能優化
  6. 負載均衡、多節點集群、復制架構

MySQL 入門實操筆記

基本信息查看


mysql -uroot -pxxx -h192.168.0.1
HELP SHOW VARIABLES;
SHOW DATABASES;
SHOW WARNINGS;
mysqlshow -uroot --count;  -- 庫/表/行數統計
USE db_name;
SHOW TABLES;
SHOW VARIABLES LIKE '%log%';

權限體系操作


-- 授權即創建用戶
GRANT SELECT ON db.* TO 'user'@'localhost';
-- 修改權限(增減)
GRANT UPDATE,INSERT,DELETE ON db.* TO 'user'@'localhost';
-- 回收權限
REVOKE DELETE ON db.* FROM 'user'@'localhost';
-- 查看權限
SHOW GRANTS FOR 'user'@'localhost';
-- 核心表:user -> db -> tables_priv -> columns_priv
-- 危險權限:SUPER, PROCESS, FILE 禁止授予普通用戶

備份恢復工具箱


-- 邏輯備份
mysqldump --help;
mysqldump -uroot -p db > backup.sql
mysql -uroot -p < backup.sql

-- 只導結構/只導數據/單表分文件
mysqldump -d -uroot -p db > ddl.sql
mysqldump -t -n -uroot -p db > data.sql
mysqldump -uroot -p db table -T ./bak

-- 物理備份
-- 冷備份:停庫拷貝 datadir
-- 熱備份 MyISAM: mysqlhotcopy / 手工 FLUSH TABLES WITH READ LOCK
-- 熱備份 InnoDB: ibbackup (商業) / xtrabackup (開源)

數據導出導入


-- 導出
SELECT * INTO OUTFILE '/tmp/data.txt' FIELDS TERMINATED BY ',' ENCLOSED BY '"' FROM t;
mysqldump ...

-- 導入
LOAD DATA INFILE '/tmp/data.txt' INTO TABLE t FIELDS TERMINATED BY ',' ENCLOSED BY '"';
mysqlimport ...

日志管理四大類

  • 錯誤日志:--log-error,hostname.err
  • 二進制日志:DDL/DML 事件,mysqlbinlog 解析
  • 查詢日志:所有客戶端語句
  • 慢查詢日志:hostname-slow.log,mysqldumpslow 分析

日志清理:RESET MASTER、PURGE MASTER LOGS TO 'bin.000006'、PURGE MASTER LOGS BEFORE '2023-01-01'、expire_logs_days=7。

SQL 分類與圖形工具

  • DDL: CREATE/DROP/ALTER
  • DML: INSERT/UPDATE/DELETE/SELECT
  • DCL: GRANT/REVOKE
  • 工具:MySQL Administrator、MySQL Query Browser、phpMyAdmin
MySQL 是互聯網技術棧核心組件,掌握上述體系可勝任絕多數業務場景,建議持續深耕優化與架構方向。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved