MySQL 作為目前最為活躍熱門的開源數據庫之一,具有低成本和簡易操作的特點。在炙手可熱的 BAT(百度、阿里巴巴、騰訊)中,都大量使用了 MySQL。顯然,對于想在互聯網行業大展手腳的數據庫工程師和 DBA 們,熟練 MySQL 無疑是一塊很好的敲門磚。
每個人的情況不同,自稱小白的人基本有以下 3 類:
#### 1)求職儲備(無工作經驗)
沒有相關經驗,還沒有走上工作崗位,只是對 MySQL 感興趣或者好奇
#### 2)DBA萌新(較少工作經驗)
剛入行的新手,或者有少量經驗的 DBA 新人,經常會發現實際工作和網上說的不一樣
#### 3)工作中會用到(有工作經驗)
可能是開發類的同學,有一定工作經驗,工作中要用到 MySQL 數據庫,只是簡單用,想深入學習一下
對于 MySQL 的學習周期和難度,大家是很關心的。下面我們用比較成熟的商業數據庫 Oracle 作為參考,來對比學習 MySQL 的一些特點。
| 數據庫名稱 | Oracle | MySQL |
| --- | --- | --- |
| 數據庫類型 | 商業閉源 | 開源 |
| 功能完善情況 | 非常齊全 | 比較齊全 |
| 學習周期 | 長 | 較短 |
| 學習難度(入門) | 難 | 容易 |
| 學習難度(深入) | 難 | 更難 |
| Oracle到MySQL | \\ | 相對容易 |
| MySQL到Oracle | 難 | \\ |
| 深度進階 | 內核、調試 | 源碼定制、改造 |
從技術棧上來說,MySQL 的入門周期相對要短,學習難度較容易。但是如果要深入了解使用,因為其開源和社區的原因,發展空間更大,相對也就更難。另外,MySQL DBA 的“錢途”從市面需求來說也要好一些。
從我的理解中,MySQL 主要有 3 個知識層面,即運維管理,架構優化和運維開發。
#### 1)運維管理
運維管理主要就是基礎運維的工作(安裝部署,備份恢復,權限管理之類的工作)和一些變更類管理和規范操作(在線變更,數據庫復制,SQL 規范等工作),這部分工作上手較快。
#### 2)架構優化
架構和優化涉及的工作面比較寬,而且技術要求有一定的深度,主要分為 SQL 查詢優化,事務和鎖,MySQL 集群和高可用技術,分布式數據庫架構等。這部分工作中對于很多開發同學來說,要注重于查詢優化。而對于從初級走向中高級的 DBA 來說,則要更注重于相關的鎖機制、集群和高可用相關技術。
#### 3)運維開發
運維開發的工作不是簡單的數據庫自動化運維,而是分為應用層和內核。我們常說的運維開發是偏向于應用層的,比如數據庫管理工具等。而內核層需要掌握源碼開發能力,比如開發數據庫中間件,SQL 審核工具等。
MySQL 主要從事以下 3 方面工作。
#### 1)技術支持工程師。
MySQL?只是該工作技能之一。掌握 MySQL 安裝,維護和基本操作就可以。基本月薪 6K~10K。
#### 2)系統集成工程師。
MySQL?只是該工作技能之一。掌握 MySQL 安裝,維護和基本操作就可以。基本月薪 6K~10K。
#### 3)數據庫工程師。
這個就分很多種了,主要看 MySQL 的掌握程度。一般的是 MySQL 數據庫管理員。基本月薪 10K~15K。
高大上的有數據分析工程師,數據庫開發工程師,數據庫建模工程師,數據庫挖掘工程師等,這類需要掌握 Oracle 數據庫。基本月薪 15K~28K。
- 數據庫入門
- 1.常用的數據庫
- 2.數據管理技術的3個發展階段
- 3.數據庫是什么?關系型數據庫和非關系型數據庫又是什么?
- 4.為什么要使用數據庫?
- 5.數據庫系統是什么?它由哪幾部分組成?
- 6.常用數據庫訪問接口簡介
- 7.數據庫的種類有哪些?
- 8.幾種常用的數據庫
- 9.MySQL是什么
- 10.MySQL適用于哪些場景?
- 11.學MySQL前,需要了解這些數據庫專業術語
- 12.MySQL客戶端和服務器架構(C/S架構)
- 13.明白了MySQL內部結構才能成為高手!
- 14.如何學習數據庫(新手必看)?
- 15.小白學習MySQL需要多長時間,能從事哪方面的工作?
- 16.當前市場對數據庫程序員的需求如何?待遇如何?
- 17.DBA到底要做什么,成為一名DBA需要具備什么能力?
- 一、數據庫的概念和常用工具
- 二、MySQL規范、配置及登錄退出操作
- 三、MySQL中的數據類型
- 四、數據庫增查改刪等操作
- 五、數據表增查改刪操作
- 六、MySQL數據增查改刪操作
- 七、MySQL存儲引擎
- 八、MySQL常用函數
- MySQL的安裝和配置
- 1.MySQL 5.7的新特性(新功能)
- 2.MySQL下載步驟詳解
- 3.MySQL安裝配置教程(Windows系統)
- 4.MySQL免安裝版配置教程
- 5.MySQL配置環境變量
- 6.安裝MySQL后,如何判斷是否已安裝成功
- 7.啟動MySQL服務的兩種方式(圖解)
- 8.登錄MySQL數據庫
- 9.對Linux MySQL軟件包的一些說明
- 10.Linux CentOS卸載MySQL(Linux安裝MySQL前的準備)
- 11.Linux安裝配置MySQL詳細步驟
- 12.MySQL my.cnf配置文件詳解
- 13.MySQL常用圖形化管理工具
- 14.MySQL安裝后的目錄結構介紹
- 15.MySQL數據庫文件存放目錄結構詳解
- 16.MySQL配置文件(my.ini)詳解
- 17.與其它數據庫不同,MySQL可以在不同的SQL模式下運行
- 18.MySql Command Line Client閃退原因及解決方案
- MySQL數據庫的基本操作
- 1.SQL是什么?它能做什么?
- 2.SQL的基本書寫規則
- 3.MySQL查看或顯示數據庫(SHOW DATABASES語句)
- 4.MySQL創建數據庫(CREATE DATABASE語句)
- 5.MySQL修改數據庫:ALTER DATABASE用法簡介
- 6.MySQL刪除數據庫(DROP DATABASE語句)
- 7.MySQL選擇數據庫(MySQL USE語句)
- 8.MySQL注釋:單行注釋和多行注釋
- 9.MySQL中SQL語句的大小寫規則
- 10.如何查看MySQL系統幫助?
- 11.看懂SQL錯誤代碼,提高學習效率!
- 數據庫高級
- 一、視圖的操作
- 二、觸發器的操作
- 三、事務的操作
- 四、索引的操作
- 五、存儲過程的操作
- 六、數據庫的優化方案
- 1.分庫、分表和索引
- 2.讀寫分離和查詢優化
- 3.join代替子查詢
- 4.盡量使用短小的事務
- 5.常用小技巧
- MySQL使用注意事項
- 1.字符亂碼及連接驅動