MySQL之如何系統學習 MySQL

2021-08-28 01:31:36 字數 3339 閱讀 8168

[size=medium][b]如何系統學習 mysql?[/b][/size]

我的問題:如何「系統」學習mysql?

比如需要看哪些書籍,哪些資料?我曾研讀過以下幾本書:《高效能mysql》,簡朝陽的mysql優化,innodb儲存引擎。我個人感覺前兩本是告訴讀者知其然,第三本是告訴讀者所以然。這三本書是有一種漸進的關係的,如果沒有前兩本的積累和一定的工作經驗,直接看第三本的效果是不太好的。

學習資料庫知識,或者狹義說學習mysql,其學習過程比較曲折,沒人誰能告訴你,只要看過某幾本書,掌握好哪些知識就算是精通、掌握mysql了。知識面是非常廣,知識點是零散的,不像學習程式語言那麼系統、那麼直接明了。

這也是我感覺比較迷茫的地方,怎樣才能系統學習?

mysql的官方文件就是非常系統,非常詳細的指導。

1.系統學習資料庫,最要緊的是把基本功打牢,所以《資料庫系統概念 原書第六版》是一本不可多得的好書,任何資料庫背後的原理基本上都是想通的,其他的都是不同廠商或組織做的改進和優化;

2.如果對mysql題體系結構、原理性的東西沒搞明白,就閱讀優化相關的書,我覺得是徒勞,因為原理不懂,何談優化?所以這裡可以推薦兩本本書籍:《深入理解mysql》(人民郵件出版社 charles a bell著 楊濤等譯)、《深入理解mysql核心技術》(o'reilly出版社 中國電力出版社 sasha pachev著 李芳等譯);

3.對原理性的東西弄徹底後,再加上足夠多的操練,現在可以看些優化、高可用、備份與恢復、集群、優化的書,比如前輩提到的《高效能mysql》(o'reilly出版社 電子工業出版社 baron schwartz等著 王小東等譯)、《mysql效能調優與架構設計》(簡朝陽),其他的書籍比如《高可用mysql——構建健壯的資料中心》(o'reilly出版社 電子工業出版社 charles bell等著 寧青等譯)……(歡迎補充)

4.再深層次可以研究下mysql原始碼,內部實現機制等等。這裡我也不知路向;

5.linux方面的知識想必前輩已經非常熟練,在此不贅述。

下面貼兩個帖子,

乙個是「[color=darkblue]知名dba專家馮春培先生分享自己的職業之路[/color]」中的片段,

乙個是「[color=darkblue]如何理解高階mysql dba必備素養以及技能[/color]」的片段。

from:[url=知名dba專家馮春培先生分享自己的職業之路[/url]

[b]hwayw: [/b]

現在有人認為學oracle很有出路,有人認為學mysql前途更大,還有人覺得nosql才是未來的資料庫趨勢,您是怎麼看待這樣的觀點?有關關係型資料庫和非關係型資料庫的爭議,您又怎麼看?

[b]biti_rainy: [/b]

我學習oracle的時候oracle資料庫還為廣泛應用,dba也比較少,算是懵懂的在正確的時間進了正確的門。2023年到2023年真的是dba學習成長的**時期,那時候湧現了一堆有影響力的人。這不是說現在的oracle dba技能就比那時候的差,而是現在的確算不上**時期了,因為oracle已經廣泛應用了。但是現在這個時段就是做資料庫服務的好時期,而我們那時候想做卻不成氣候。2023年的時候我招了個應屆生叫簡朝陽,後來我建議他重點學習mysql,並給予了很大的自由度和計畫到他,幫助他成長,後來他寫了本書,同時自己成長的非常快,在mysql領域也是非常有影響力。當時之所以建議他學習mysql,是因為oracle的硬體實施整體成本非常高,一用上小型機和san儲存,oracle費用其實不足total費用的20%。一方面為了公司節約成本考慮,另一方面也感覺到這是未來的趨勢,大環境給予了他這個機遇,而我只是提前做出了判斷並引導了他。現在由於網際網路企業的發展,好像nosql發展的迅猛,這其實不過是在特定場景解決特定問題罷了。我認為未來十年nosql可以取代rdbms是個偽命題,其實發展到後來兩者趨勢逐漸一致,nosql想要通用也得具有rdbms的很多特徵,就越長越像了。google最近出的資料庫,其實我看很多特點和概念也類似oracle呢,概念上大家都沒什麼新鮮玩意,都是在規模上的量變導致質變。而一般使用者解決規模問題最簡單的是硬體、網路的突破,這更容易帶來資料庫應用的發展。所以我更主張大家透過現象去看技術的實質,研究各種技術的特點背後的優劣到底是怎麼回事,這樣才有自己的看法。oracle、mysql、nosql都是一些具體的資料管理的表現形式,他們主要面對什麼客戶、解決什麼問題、帶來什麼價值,看透了這些,我們就不會被表象所牽引。當然,我認為管理好資料之後,發掘資料價值是乙個很重要的事情。

from:[url=如何理解高階mysql dba必備素養以及技能?[/url]

1、mysql 重要引數的作用; 包括***哪些呢? 是key_buffer_size、tmp_table_size、sort_buffer_size、innodb_buffer_size、innodb_log_file_size、innodb_flush_logs_at_trx_commit、max_tmp_tables 等等!

2、shell 要熟練; shell具體指的是啥,能否舉例說明一本書籍,說搞懂了這本書籍,shell就算熟練了?

3、python , perl 懂一種。 不懂,看來還得去買一本書,慢慢修煉了。

4、效能測試要會; 沒有弄過,如何做,用啥工具,如何看測試過後的各種測試資料。

5、linux 熟練操作; linux操作都包括哪些方面呢?能舉幾個例子說明一下嗎?

-[size=medium][b]mysql學習四部曲[/b][/size]

我買書有個習慣,首先去豆瓣去看書籍評分(感覺豆瓣的資料是最客觀的),於是淘到了這麼四本mysql書籍,我稱之為四部曲。

第一部曲:[url=學習指南》[/url]

[img]

這本書適合初學mysql的人,特別適合使用mysql的工程師。書中的內容講的是標準sql語言,自然難免包含其他資料庫的知識,但是發現作者很偏向mysql,講述mysql的篇幅很多。看了這本書後會讓你很快對mysql有乙個縱覽,裡面對sql語句的講解也很細緻,有深有淺,對於使用mysql的工程師們,看完這本書就差不多了。

第二部曲:[url=高效能mysql》[/url]

[img]

第三部曲:[url=高可用mysql》[/url]

[img]

「主備,讀寫分離,集群」聽到這些概念大家應該比較熟悉吧。這本書的副標題為「構建健壯的資料中心」,「主備,讀寫分離,複製,集群......」這些話題都會在書中涉及,目前我們的資料量還達不到這個階段,我也只能理論學習下,希望有一天業務資料量能給我實踐機會,話說有這種資料量時我也就生活無憂了,渴望中。這本書更適合架構師,dba閱讀。要我說,其對應的正是架構設計中的水平擴充套件。

第四部曲:[url=反模式》[/url]

[img]

一部適合所有型別資料庫設計的書,不同於其他書的寫作模式,作者先會提出乙個我們經常使用的觀點,然後指出其不合適之處。然後給再我們指明相對(即使是反模式也有其適用場景)正確的觀點,這本書適合架構師,dba閱讀。

-

mysql學習 如何系統學習 MySQL

很多人喜歡一上來就推薦好幾本書,但是這些書晦澀難懂,對於初學者入門非常不友好。入門只需要一本書就夠了,而不是多本。入門要讓初學者看懂才是最重要的,而不是整那些高大上的東西。為了幫助剛畢業找工作,或者想轉行成為資料分析師工作的朋友,我會用下面內容教會你怎樣用最快速 最容易理解的方式學會資料庫和sql,...

mysql學 如何系統學習 MySQL

很多人喜歡一上來就推薦好幾本書,但是這些書晦澀難懂,對於初學者入門非常不友好。入門只需要一本書就夠了,而不是多本。入門要讓初學者看懂才是最重要的,而不是整那些高大上的東西。為了幫助剛畢業找工作,或者想轉行成為資料分析師工作的朋友,我會用下面內容教會你怎樣用最快速 最容易理解的方式學會資料庫和sql,...

Mysql 系統學習梳理 All

0 linux學習 centos 7編譯安裝mysql 8.0 1 mysql學習 sql語言的四大分類 2 mysql學習 基礎操作學習 3 mysql學習 基礎操作學習2 4 mysql學習 檢視 觸發器 儲存過程 函式 執行計畫 sql優化 180101 5 mysql學習 索引的學習 180...