程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL入門(一),MySQL入門(

MySQL入門(一),MySQL入門(

編輯:MySQL綜合教程

MySQL入門(一),MySQL入門(


    最近一直都在搞新員工的培訓材料,MySQL的培訓PPT我居然寫了100多頁,我都佩服我自己的毅力了。不如現在把這些總結一下,慢慢寫到博客裡,供入門者參考。

   一 關系型數據庫

    關系型數據庫的理論提出於上世紀七十年代,由IBM的研究員E.F.Codd的論文提出。

    關系型數據庫的理論基礎可以參考王珊和薩師煊編著的經典教材《數據庫系統概論》。我就不在這裡寫了,這些理論性太強,作為快速入門的教程也不應該說這些,但是這些理論就像是武功裡的易筋經一樣,練了以後什麼功夫都學得快。

   二 數據庫的基本概念

     以前玩兒Oracle的時候加了一個群,發現很多人寫了好久的PL/SQL,但是還是搞不明白什麼叫數據庫,什麼叫做實例。我覺得,雖然不知道這些還是可以寫PL/SQL,但是如果想成為一個DBA,基本概念還是一定要清楚的,就像是練功還是要先扎馬步一樣,下盤不穩總是容易倒下嘛。

     數據庫(database):指的是文件系統上的一組文件,在innoDB中表現為後綴為idb的文件。

     實例(instance):指的是操作系統上的一組進程/線程和內存的集合。如果在MySQL服務器上執行ps -ef | grep mysql,就能看見MySQL的進程了。

     簡單地說,數據庫指的是文件,實例指的是進程/線程和內存。

     平時我們說的數據庫,很多的時候指的是關系型數據庫管理系統(RDBMS),這些概念在嚴謹的文檔中是要嚴格區分的,但是在平時的交流中,基本上大家約定俗成的說法是沒有問題的。

     至於數據庫的其他一些概念:表,行,列,視圖和索引等等,這些以後慢慢講吧。

   三 MySQL數據庫概述

    MySQL最開始是創始人Monty覺得別人的數據庫不好使,自己寫出來服務自己的(Linux是當年Linus覺得Minix只能用在教學,為了更好地學操作系統寫出來的),不得不說這些人牛。

    後來,他成立了MySQL AB公司,開發用於商用的MySQL。之後公司被大名鼎鼎的Sun收購,在Sun時期,MySQL推出了5.1版本,這個版本我用了好久,堪稱難用,尤其是和後來的5.5比起來,簡直是太難用了。

    2009年,MySQL隨著Sun一起被Oracle收購,隨後Oracle推出了5.5版本,我個人覺得這個版本真的是裡程碑版本了,當年我們從5.1升級到5.5的時候,性能好的真的是讓我都快流淚了,尤其是比5.1完善的多的分區表,簡直是當年我做數據倉庫的福音。

    後來,我們迎來了5.6和5.7版本, 這些版本大幅提高了並發能力和復制的性能,尤其是5.7的並行復制功能,理論上解決了一直存在的復制延遲問題。我確實感覺到,Oracle公司在數據庫領域的領先確實不是其他公司可以比擬的。

    當然,開源軟件,尤其是好的開源軟件總是有分支的。MySQL最大的分支就是Percona Server和MariaDB了。Percona Server專注於性能的提升,其推出的XtraDB引擎就是innoDB的加強版;MariaDB則會引進更多的新特性,尤其是MariaDB率先推出的並行復制功能,著實讓官方MySQL用戶眼紅。

   四 Linux還是Windows?

    我現在就是用Windows來寫這篇博文的,但是我還是覺得Linux在服務器領域遠遠好於Windows。

    其實我最近和很多網友交流過,發現很多人學習MySQL的時候還是首先會選擇Windows,在我推薦使用Linux時很多人都會抱怨Linux的GUI太差了,安裝軟件也非常復雜,實在是不想用。實際上從入門學習的角度上說,用Windows也是可以的,不過很多DBA每天不止是寫寫SQL,還要搞很多操作系統和網絡上的事情,所以還是直接用Linux比較好。我最開始學習Linux的時候也天天罵為什麼不能把操作系統做的好用一點,不過後來熟悉了覺得挺好用的,有時候寫個Shell還是挺高效的。

    學習Linux可以從Ubuntu入手,這個版本的GUI做的很不錯,現在很多公司的系統采用了RHEL或者CentOS,學習的時候也可以看看,和Ubuntu大同小異。推薦一本書:《鳥哥的Linux私房菜》,只看第一卷就可以了,基本上學會了就可以把Linux作為日常工作系統了。

    我以前看到過一些資料,說是MySQL在Linux上的性能更好,Windows的版本也是後來某個版本才開始優化了,不知道這個說法是否成立,我姑且信之。不過有個點可以作為參考,就是Percona公司的Percona Server就根本沒有Windows版本。

    所以最好還是從開始學習就用Linux吧,畢竟一個DBA得雜學操作系統和網絡。

    --------------------------------------------------------------------------------

    今天寫了一些基本概念和MySQL的歷史,這些我們也是需要理解和知道的,對一個DBA來說這些知識只有好處沒有壞處。今天躺著寫的,沒有鼠標不是很方便,所以寫的比較簡略。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved