mysql資料庫簡介
mysql近兩年一直穩居第二,隨時有可能超過oracle計晉公升為第一名,因為mysql的效能一直在被優化,同時安全機制也是逐漸成熟,更重要的是開源免費的。
mysql是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性。
mysql所使用的 sql 語言是用於訪問資料庫的最常用標準化語言。mysql 軟體採用了雙授權政策,分為社群版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,一般中小型**的開發都選擇 mysql 作為**資料庫。
如果不會安裝mysql請移步:mysql服務安裝
mysql innodb儲存引擎
innodb儲存引擎的優勢:
1、事物(transaction)mysql複製集群原理與實戰2、mvcc(多版本併發控制)
3、行級鎖(row-level lock)
4、支援外來鍵
5、acsr(auto crrash safe recovery)自動的故障安全恢復
6、支援熱備份
mysql複製有兩種方法:
mysql資料庫主從同步實戰過程
mysql 主從同步架構中你不知道的「坑」
(上)mysql 主從同步架構中你不知道的「坑」(下)
資料備份多種方式:
送你乙份生產資料庫備份方案:高逼格企業級mysql資料庫備份方案
mysql資料庫物理備份方式:xtrabackup實現資料的備份與恢復
mysql複製有多種型別:
mysql主從複製延遲解決方案:高可用資料庫主從複製延時的解決方案
mysql高可用架構設計與實戰
先來了解一下mysql高可用架構簡介:**mysql集群高可用架構
mysql高可用方案:mysql 同步複製及高可用方案總結
官方也提供一種高可用方案:官方工具|mysql router 高可用原理與實戰
mhamha高可用方案實戰:mysql集群高可用架構之mha
mgrmysql效能優化
史上最全的mysql高效能優化實戰總結!
mysql索引原理:mysql 的索引是什麼?怎麼優化?
mysql表分割槽介紹:一文徹底搞懂mysql分割槽
mysql分庫分表
資料庫分庫分表概述:資料庫分庫分表,何時分?怎樣分?
mysql分庫分表方案:mysql 分庫分表方案,總結的非常好!
mysql分庫分表的思路:解救 dba—資料庫分庫分表思路及案例分析
mysql資料庫讀寫分離高可用
海量資料的儲存和訪問成為了系統設計的瓶頸問題,日益增長的業務資料,無疑對資料庫造成了相當大的負載,同時對於系統的穩定性和擴充套件性提出很高的要求。隨著時間和業務的發展,資料庫中的表會越來越多,表中的資料量也會越來越大,相應地,資料操作的開銷也會越來越大;另外,無論怎樣公升級硬體資源,單台伺服器的資源(cpu、磁碟、記憶體、網路io、事務數、連線數)總是有限的,最終資料庫所能承載的資料量、資料處理能力都將遭遇瓶頸。分表、分庫和讀寫分離可以有效地減小單台資料庫的壓力。
mysql讀寫分離高可用架構實戰案例:
proxysql+mysql實現資料庫讀寫分離實戰
mysql+mycat實現資料庫主從同步與讀寫分離
mysql效能監控
mysql效能監控的指標大體可以分為以下4大類:
[root@db01 ~]# yum -y install php php-mysql[root@db01 ~]# wget
[root@db01 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
warning: percona-zabbix-templates-1.1.8-1.noarch.rpm: header v4 dsa/sha1 signature, key id cd2efd2a: nokey
preparing... ################################# [100%]
updating / installing...
1:percona-zabbix-templates-1.1.8-1 ################################# [100%]
scripts are installed to /var/lib/zabbix/percona/scripts
templates are installed to /var/lib/zabbix/percona/templates
最後,可以配合其它監控工具來實現對mysql的效能監控。
mysql伺服器配置外掛程式:
[root@db01 ~]# sed -i '30c $mysql_user = "monitor";
' /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
[root@db01 ~]# sed -i '
31c $mysql_pass = "123456";
' /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
[root@db01 ~]# sed -i '
33c $mysql_socket = "/tmp/mysql.sock";
' /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
測試是否可用( 可以從mysql中獲取到監控值 )
[root@db01 ~]# /usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host localhost --items gggg:12
# 確保當前檔案的 屬主 屬組 是zabbix,否則zabbix監控取值錯誤。
[root@db01 ~]# ll -sh /tmp/localhost-mysql_cacti_stats.txt
4.0k -rw-rw-r-- 1 zabbix zabbix 1.3k dec 5
17:34 /tmp/localhost-mysql_cacti_stats.txt
移動zabbix-agent配置檔案到 /etc/zabbix/zabbix_agentd.d/目錄
[root@db01 ~]# mv /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/[root@db01 ~]# systemctl restart zabbix-agent.service
匯入並配置zabbix模板與主機:
預設模板監控時間為 5分鐘 ( 當前測試修改為 30s) 同時也要修改zabbix模板時間
# 如果要修改監控獲取值的時間不但要在zabbix面板修改取值時間,bash指令碼也要修改。[root@db01 scripts]# sed -n '
/timeflm/p
timeflm=`stat -c %y /tmp/$host-mysql_cacti_stats.txt`
if [ `expr $timenow - $timeflm` -gt 300
]; then
# 這個
300 代表 300s 同時也要修改。
預設模板版本為 2.0.9,無法在4.0版本使用,可以先從3.0版本匯出,然後再匯入4.0版本 。
mysql使用者行為安全
學完了就需要出去練一練,最後給大家一些企業面試題供大家練練手:24 個必須掌握的資料庫面試問題!
機器學習 學習筆記第一天
所有機器學習的演算法可以分為4到5 類 監督學習 supervised learning 如果在學習的過程中,我們不斷的向計算機提供資料和這些資料所對應的值 標籤 通過指引的方式,讓計算機學習我們是如何把這些資料對應上所代表的物體,也就是讓計算機學習這些標籤可以代表那些,這種方式就叫做 監督學習 s...
effective C 學習筆記第一天
1.視c 為乙個語言聯邦 為了理解c 必須認識其主要的次語言。幸運的是總共只有四個 1 c 說到底c 仍是以c 為基礎。blocks,statements,preprocessor,built in data types,arrays,pointers 2 object oriented c 這部分...
rails 學習第一天筆記
在rails 專案中,從瀏覽器中發起乙個請求時,先到public 資料夾下檢查是否有index.html 檔案,有的話直接顯示。沒有的話在到config下的路由檔案 route.rb 中,根據路由規則執行相關操作。在rout.rb 檔案中定義了 root page welcome 表示訪問該項目的主...