專職DBA-MySQL數據庫簡介 MySQL數據庫入門介紹 MySQL數據庫官網: https://www.mysql.com https://dev.mysql.com MySQL被SUN公司收購,SUN公司被Oracle收購。級聯收購 MySQL數據庫版本分爲:社區版、企業版 這兩個版本又各自分了四個版本依次發佈:Alpha版、Beta版、RC版、GA版 咱們互聯網公司用MySQL社區版的GA版 建議MySQL下載去官方網站下載,不要使用迅雷等工具下載MySQL,在系統裏面使用wget下載。 MySQL是C/S架構的軟件。 源碼包:mysql-5.7.20.tar.gz mysql-主版本號.發行級別.發行級別版本號.tar.gz 如今是2020年了,目前主流的mysql版本5.7 MySQL數據庫版本選擇: 建議選擇MySQL社區版GA版的穩定版本。 小公司喜歡直接選擇GA版的最新版本。 MySQL數據庫安裝方法: 1、rpm包方式安裝mysql 2、yum方式安裝mysql 3、常規編譯安裝mysql 4、二進制方式安裝mysql 咱們用二進制安裝 5、cmake編譯安裝mysql 大公司安裝MySQL都是根據企業需求,先把MySQL源碼包製做成rpm包,而後搭建本身的yum倉庫。最終一鍵安裝yum -y install mysql-server MySQL多實例:在一臺服務器上同時開啓多個不一樣的服務端口330六、3307、3308、3309 同時運行多個MySQL服務進程,這些服務進程經過不一樣的socket監聽不一樣的服務端口來提供服務。 這些MySQL多實例共用一套MySQL安裝程序,使用不一樣的my.cnf配置文件、啓動程序mysqld、數據文件。 MySQL多實例好處: 1、有效利用服務器資源。當單個服務器資源有剩餘時,能夠充分利用剩餘的資源來提供更多的服務,且能夠實現資源的邏輯隔離。 2、節約服務器資源。 MySQL多實例弊端: 會存在資源互相搶佔的問題。當某個數據庫實例併發很高或者有SQL慢查詢時,整個實例會消耗大量的系統CPU、磁盤I/O等資源。 致使服務器上其餘數據庫實例提供的質量一塊兒降低。 不一樣實例獲取的資源是相對獨立的,沒法像虛擬化同樣徹底隔離。 通常從庫採用多實例 DELL R510 R720 R730 R740 R940 48核CPU 96GB內存/48GB內存 硬盤6*900G SAS作RAID10 一臺服務器運行3~4個實例 MySQL在Oracle的手裏,大放異彩,能夠說從MySQL5.6開啓了MySQL的一個新時代。 MySQL5.7把前面全部的特性都作了一個穩。 MySQL8.0從代碼層重構,對優化器作了更大的改動。 瞭解MySQL行業發展狀況及業界主流分支 Oracle MySQL Percona Server MariaDB MySQL Cluster MySQL InnoDB Cluster=MySQL Shell + MySQL Router + MGR 8.0.14並行讀寫,並行計算 8.0有250多個新特性 加強MySQL+開源Plugin============>Percona Server Percona已經追不上官方MySQL了 MariaDB已經完全放棄追趕官方MySQL了 Tokudb已經被Percona玩死了,再也不進行維護它了 MariaDB高度兼容Oracle語法 MariaDB想往OLAP方向走 如今大量傳統行業及國企使用的Oracle正在向MySQL遷移 MariaDB現階段主要目標: Oracle語法兼容 OLAP環境支持 MyRocks引擎 公司裏有一個新項目:MySQL5.7和MySQL8.0你怎麼選? 看項目,支付環境,追求穩定5.7,不須要其餘功能。 追求快速開發,高性能,你能夠考慮8.0 除了支付環境之外,儘量用8.0 其餘分支 WebScaleSQL MyRocks AliSQL TiDB火 瞭解MySQL目前就業狀況及需求 BOSS直聘/拉勾網/獵聘 獵聘上DBA職位有1000+ MySQL DBA平均薪資18k+ 運維: 應用運維SRE 系統運維SA 運維開發devops 數據庫運維DBA 雲上DBA 安全運維SEC python是必經之路 Python萬能語言 Go後端/雲上 老師:我不是本科! 老師:我今年37了,學習MySQL還有機會嗎! 若是你不懂欣賞個人好,那總有別人會懂,就這麼簡單。 但你須要讓選擇你的相信他是對的。 MySQL學習方法及資料推薦: 官方手冊,重點章節通讀一遍(複製、innodb) 數據庫基礎理論知識:事務、鎖、B+樹。 邊學習理論,邊動手實踐。 有條件的話,邊學習源碼邊動手實踐驗證。 遇到問題時,先觀察日誌,自主思考可能的緣由。實在無果後,提供完善的信息(環境、場景、日誌)向別人耐心請教。 多用Google少用百度。 多看手冊及官網等靠譜知識來源,少直接網搜。 官方blog http://mysqlserverteam.com/ 知名blog聚合 https://planet.mysql.com/ 官方論壇&bug庫 https://forums.mysql.com/ https://bugs.mysql.com/ http://github.com/zhishutech/ MySQL版本企業選擇 規範: GA版本:穩定的發佈版本,6-12月的產品版本。 版本類型: E:企業版,收費版本,SR,偏向傳統行業。 C:社區版,開源版本,互聯網企業的選擇。 企業版本選擇:通常新上的環境,會選擇GA版6-12月的產品版本。 企業主流版本: 5.6版本:5.6.20 5.6.34 5.6.36 5.6.38 5.6.40 5.7版本:5.7.16 5.7.18 5.7.20 5.7.22 5.7.24 面試問:大家公司用什麼版本的數據庫呀? 5.6.38 5.7.20 面試問:大家公司怎麼還在用這麼低的版本? 咱們這個業務已經運行4年了,一直用的5.6版本,很是穩定。 因此說暫時沒有打算升級。(業務4年圓謊:大版本是5.6,中間有運維作過升級) GA時間問題漏洞怎麼說? 剛去上家公司不到兩年,上一個DBA交接的時候業務已經運行的兩年多了,我接手的時候MySQL的版本已是5.6.38了,應當是作太小版本的升級。 咱們公司如今用的是5.7/8.0的,你能勝任嗎? 能。雖然咱們生產中一直使用的5.6,可是我對5.7/8.0的新特性已經足夠了解了。因此我徹底可以勝任貴公司的工做。 MySQL是C++語言開發的 MySQL軟件下載:記住GA時間:mysql-5.7.20 GA時間:2017-09-13 https://downloads.mysql.com/archives/community/ 輸入:www.mysql.com 點擊:downloads 點擊:Archives 點擊:MySQL Community Server 選擇:Product Version:MySQL軟件版本5.7.20 選擇:Operating System:二進制包 選擇:OS Version:系統版本 ------------------------------------------------------------ RPM包:Red Hat Enterprise Linux / Oracle Linux 二進制包:Linux - Generic(不須要二次開發和不須要添加功能) 源碼包:Source Code(須要二次開發的時候,須要作統一配置管理的時候)