mysql學習經驗&學習資料下載

先給出我的核心觀點:學習,無論你是學什麼,也無論你有沒有基礎。思考永遠是第一位的,有些知識你沒接觸過不要緊,用不着害怕,也沒必要害怕。重要的是一秒鐘也不要停止思考,問題要想透徹,正所謂磨刀不誤砍柴工。尤其是作爲工程師,要有打破砂鍋問到底的精神,否則你怎麼學都沒用。

首先概覽下mysql的知識體系:

基礎:

sql語句

表結構設計

調優:

索引、慢查詢優化

配置參數調優

核心原理:

InnoDb存儲引擎 (包括隔離級別、事務、鎖、緩存池、回滾日誌等等)

Mysqld (包括連接管理、進程管理、查詢緩存、查詢優化、日誌等等)

架構與運維:

用戶與權限、安全

備份與恢復

日誌

分佈式與高可用

對於零基礎的童鞋:

首先,學習基本的SQL語法。完成這個後,你就可以編寫SQL語句了。

這一步推薦:W3Schools的 SQL 教程

其次,學習數據庫的主要功能和使用方法,比如用戶相關或者權限相關等等。

我推薦兩本書:

一、《MySQL必知必會》 這本書講的非常全,從基本概念,到查詢到插入新建表,用戶的管理,都有具體的例子,非常適合沒有任何基礎的同學來學習Mysql,總之這本書學習的方法就是:1、十分鐘瞭解下數據庫的基本概念 2、找到練手的數據庫 3、對照着上面的內容去敲。本書裏也有大量的內容是講sql的,可以結合w3c的sql教程一起,有取捨地看。

二、《數據庫系統概念》這本書是dba必看的。

看完這些並且實踐+思考之後,可以算入門了。

接下來對於希望深入學習的童鞋

我推薦幾本書(很多大神都這麼推薦),《高性能MySQL(第3版)》、 《MySQL技術內幕(第4版)》,《MySQL技術內幕 InnoDB存儲引擎》,《深入理解MySQL》還有Mysql的官網。讀完這些東西,再加些豐富的經驗,理論上來講就具備DBA的水平了。

十分推薦閱讀Planet MySQL上彙總的博客,特別是Percona's MySQL & InnoDB performance and scalability blog

但是,正如我開頭所言的。面對問題的時候一定要積極思考!

比如:

我問你,面對一個併發量比較高的場景,如何配置mysql的連接數?

你可能會回答:“哦,就是調高max_connection的數值吧。”

那,你有沒有思考過調到多少是最合適的呢?爲什麼這樣設置就最合適呢?

也許你會回答:“恩我知道,可以看系統之前的max_used_connection的數值,然後來設置。也可以調高back_log的值。”

那你有沒有思考過,max_connection連接數太高會有什麼不好的影響呢?back_log設置的太高有什麼不好的地方呢?max_connect的上限其實是取決於mysql能獲得的文件描述符的數量,也就是說你就算設置成10000,最後也是沒用的,系統會根據機器的情況自動調低。

也許你會回答:“恩我知道,設置太高,會有系統開銷...”

那你有沒有思考過,這些開銷具體是什麼呢?是什麼工作導致了需要這些內存開銷?

也許你還會回答,在連接創建的時候,會立刻爲它分配連接緩衝區以及查詢緩衝區,這些都會吃內存。

那你有沒有思考過,佔據的資源具體是多少呢?取決於哪些因素呢?

好了,我們先結束這個問題。回到知乎的問題上來,其實我說了這麼多,就是表達要如何自學mysql。

所以的所以,你必須不斷思考,才能在工作中面對具體場景的時候,非常淡定地推斷:“哦,一定是這裏出了問題。應該怎麼怎麼做。”

面對問題,拿出打破砂鍋問到底的精神,先思考一番,給出自己的假設,不要着急地去找度娘,谷歌。思考過後,帶着你的推斷或者答案,大膽地去搜索吧!去看看別人的見解,去看看官方的描述!

這纔是一個工程師應有的態度。

最後我想給出一些有價值的學習資料。可以省去一些時間。

-電子書:

我認爲多看書還是有好處的。有些書值得反覆看許多遍,有時候只看一遍無法深刻理解吸收,思考也不夠充分。

電子書下載傳送門

《mysql必知必會》

《高性能mysql第三版》

《數據庫系統概念》

《深入理解MySQL》

《MySQL性能調優與架構設計--全冊》《SQL Antipatterns》

《MySQL技術內幕 InnoDB存儲引擎》

-學習mysql的網站:

MySQL Tutorial - Learn MySQL Fast, Easy and Fun.

可以快速,簡單和有趣的學習MySQL。以簡單易懂的方式爲您提供完整的MySQL教程。每個教程都有SQL腳本和可用屏幕截圖的實際示例。

mysql學習資料 | mysql深入學習筆記 深度筆記

有很多mysql的資料可以看,還可以看網友做的學習筆記。

W3Schools SQL 教程

可以學習基礎的sql語句

-閱讀官方手冊

無論英文好不好,看英文手冊的能力是一定要有,也一定要培養的。

mysql官方手冊:14 The InnoDB Storage Engine

最後就是,要多用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章