本文目錄一覽:
該怎麼學習MySQL資料庫,從基礎學起的哪種?
如果你沒有 MySQL 的基礎,建議可以看看以下書籍:
《MySQL 必知必會》:主要講 SQL 的寫法
《深入淺出 MySQL》:比較全面的講解了 MySQL 的基礎知識,也涉及了一些優化。
如果已經對 MySQL 比較熟悉了,可以看下面的書籍:
《高性能 MySQL》:裡面講了很多 MySQL 優化技巧。
《MySQL 技術內幕》:講解了很多 MySQL 原理,強力推薦給想深入學習 MySQL 的同學。
《MySQL 內核:InnoDB 存儲引擎》:想深入研究 MySQL 內核及原理的可以看看。
《MySQL 運維內參》:對 MySQL 源碼感興趣,可以入手。
《MySQL Internals Manual》
《MySQL 5.7 Reference Manual》
零基礎如何自學使用MySQL資料庫?
對於非計算機出身的我,大學只會hello word和跑馬燈,期間過程確實非常曲折,分享下我的自學過程:
1、 自己在windows和linux上安裝了mysql,自學linux的基礎知識,學習mysql的最基礎的知識,即怎麼寫sql,存儲過程,表的設計等,從0到熟悉大概花了3個月 ,推薦《mysql入門很簡單》。
2、系統地較為深入地學習mysql的sql優化,備份和恢復,參數優化,架構優化,硬體層面的優化,高可用方案,複製技術等等,這段時間你不一定能實際接觸到這些,就像我當初那樣,肯定沒什麼公司招一個小白。 我選擇自己看書,推薦《高性能mysql》,裡面所有的章節都需要看一遍,以現在的水平肯定看不懂,但需要知道大概怎麼回事,為後續的找mysql初級dba的工作打一個鋪墊,這個過程大概也需要3個月。
3、 紙上得來終覺淺,完成以上兩步,我開始準備找一份mysql相關的工作,而不是天天用著excel表格做著select * from table_sb這樣的工作。 當然我這麼猥瑣的人肯定不會裸辭,該畫的電路板也一樣畫,業餘時間開始投初級mysql dba的工作,並且不間斷地學習,網上各種找mysql面試的相關題目(實際上我當時完全沒有任何實戰經驗),陸續收到一些面試,憑藉之前自學的mysql知識,開始胡亂吹牛逼,先混進去再說。 你不做mysql實際相關的工作,永遠也不知道自己之前認知的db知識有多幼稚。 友情提示一點,一般公司都沒有專職dba的,所以面試的時候一定要自信,其實你學了這麼多,雖然毫無實戰經驗,理論知識很大概率比面試你的人牛逼,所以各種吹,我就這樣真正進入初級dba的圈子(由於這時對linux還處於cd ls的水平,所以之前也根本沒做過運維),這個邊工作邊找工作的過程又持續了2個月。
4、真正進入互聯網,接觸生產環境後,這是我進步最大的時候。 第一步需要將之前所學真正地應用起來,並且應用的過程中,再回頭看之前的書籍,這時候需要真正去理解,而不是似是而非,一知半解。 這時再推薦《高性能mysql 第三版》,全本再看一遍,這時需要全部看懂,另外還有《mysql技術內幕:innodb存儲引擎》等等。 總之這段時間就需要開始關注mysql一些細節了,比如db故障處理,高可用,負載均衡等等的具體實現了。 另外,linux的知識同步也要深入去學習,至少會寫shell腳本,常見的linux知識等,我在這花了1年多;
5、 dba的工作一般是非常輕閑的,畢竟不是大公司,技術能力有限,該學的也學得差不多了,接觸不到海量數據,高並發等比較鍛煉人的場合,於是我又準備跳了。 於是來了公有雲,現在每天運維萬多個db實例,平均每天處理5+個緊急db故障,幾乎mysql會遇到的問題,感覺都遇到了,能感覺到技術實力和經驗也在每天都在積累,在進步。 但是感覺還是欠缺了很多,下一步就看你選擇了,是再去研究源代碼,底層原理的東西多點,還是資料庫運維和應用多一點,就比如業界姜承堯,何登成與葉金榮的區別。 由於我的歷史原因,對c++等幾乎不懂,平時也用不到,所以看代碼等事實際太累,於是我再去學mongodb,接了公司mongodb運維的活,算是在廣度上的一個擴展,萬一哪天mysql不行了呢
6、 總之,對於db小白來說,最重要的一點就是,學習的過程不能斷。 PS 上面的方法比較野路子,適合沒什麼基礎的童鞋,如果本來就是DBA,比如從oracle轉到mysql,那麼建議直接看mysql官方文檔,而官方文檔是db達到一定水平後必看,出問題時必查的權威文檔。
怎樣學習sql
SQL學習路線
1、下載安裝MySQL,或者安裝軟體phpstudy(這個軟體自帶了mysql資料庫,而且安裝啟動方便)。
2、我這裡用的是phpstudy,打開phpstudy後,點擊下圖中的啟動,點擊後資料庫服務就會啟動了
3、下載安裝Navicat軟體
這個軟體可以輕鬆連接資料庫,我們可以在這個軟體中練習學習SQL語法
4、使用Navicat建立資料庫連接
點擊文件——新建連接,連接名隨便填寫,比如寫「本地」。主機名、埠都不需要修改,用戶名和密碼都是root(因為我們安裝的phpstudy里的mysql默認用戶名密碼就是root),點擊連接測試顯示為成功後點確定保存。
以後再次訪問時,雙擊即可。
5、下載習題進行學習,內含習題需要用到的數據表。
6、導入第5步中下載的數據表。(後台回復關鍵詞「SQL」獲得)
右擊第4步中的「本地」,新建一個資料庫test1,雙擊打開新建的資料庫(打開後顏色是綠色)。
拖拽剛才下載的數據表文件(sqltest1.sql)到test1上面。
這時會出現上述彈窗,點擊開始,等待導入完成後,點擊關閉
在左側空白處右擊,選擇「刷新」,即可看到剛才導入的數據表了。
7、打開sql語法編輯器
如下圖點擊查詢——新建查詢,在空白處輸入sql語法,點擊運行,如果輸入錯誤會有報錯,輸入正確則會返回查詢內容。
8、邊做邊學
打開第一部分習題,邊做邊學,通過查詢w3c的sql語法手冊完成
9、鞏固練習
嘗試不看sql語法手冊,獨立完成第二部分習題。
以上是sql的學習路徑。
mysql資料庫怎麼學
先給出我的核心觀點:
學習,無論你是學什麼,也無論你有沒有基礎。思考永遠是第一位的,有些知識你沒接觸過不要緊,用不著害怕,也沒必要害怕。重要的是一秒鐘也不要停止思考,問題要想透徹,正所謂磨刀不誤砍柴工。尤其是作為工程師,要有打破砂鍋問到底的精神,否則你怎麼學都沒用。
首先,學習基本的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資料庫呢
看書或者網上的教程:
從基礎開始學習,資料庫的安裝、常用的CRUD操作、以及資料庫的維護方面的知識,一邊學習一邊操作。多多練習時間長了就了解了;
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/278834.html