資料庫初體驗以及mysql資料庫的安裝
前言一、資料庫的基本概念
二、資料庫的發展
三、主流的資料庫介紹
四、編譯安裝mysql資料庫
前言: mysql是乙個真正的多執行緒、多使用者的sql資料庫服務,憑藉其高效能、高可靠性和易於使用的特性,稱為伺服器領域中最受歡迎的開源資料庫系統。下面我們將具體介紹資料庫的原理以及怎麼編譯安裝mysql資料庫。
一、資料庫的基本概念
了解資料庫之前,我們必須了解資料庫的一些基本構成單位:
資料(data)
描述事物的符號記錄
包括:數字、文字、圖形、影象、聲音、檔案記錄等
以「記錄」形式按統一的格式進行儲存。
表(list)
將不同的記錄組織在一起
用來儲存具體資料
資料庫(database)
表的集合,是儲存資料的倉庫
以一定的組織方式儲存的相互有關的資料集合
資料庫管理系統(dbms)
是實現對資料庫資源有效組織、管理和訪問系統軟體
資料庫系統(database system)
是乙個人機系統、由硬體、os、資料庫、dbms、應用軟體和資料庫使用者組成
使用者可以通過dbms或應用程式運算元據庫
二、資料庫的發展
在資料庫的發展歷史上,資料庫先後經歷了層次資料庫、網狀資料庫和關聯式資料庫等各個階段的發展,資料庫技術在各個方面的快速的發展。
第一代資料庫
自20世紀69年代起,第一帶資料庫系統問世
是層次模型與網狀模型的資料庫系統
為統一管理和共享資料提供了有力的支撐
第二代資料庫
20世紀70年代初,第二代資料庫————關聯式資料庫開始出現
20世紀80年代初,ibm公司的關係資料庫系統db2問世,開始逐步取代層次與網狀模型的資料庫,成為行業主流
到目前為止,關係資料庫系統仍占領資料庫應用的主要地位
第三代資料庫
自20世紀80年代開始,適應不用領域的新型資料庫系統不斷湧現
物件導向的資料系統,實用性強、適應面廣
20世紀90年代後期,形成了多重資料庫系統共同支撐應用的局面
一些新的元素被新增進主流資料庫系統中,例如,oracle支撐的「關係-物件」資料庫模型
接下來我們來談談現在市面上有那些廣泛使用的資料庫型別
三、主流的資料庫介紹
當今的主流資料庫主要常用的分為sql server(微軟公司產品),oracle(甲骨文公司產品),db2(ibm公司產品),mysql(甲骨文公司收購。
沒加公司的資料庫,並沒有好壞之分,只是看,是否滿足你的日常需求,現在我們就來具體分析下這幾款資料的特性
sql server資料庫
面向windows作業系統
簡單、易用
高度可擴充套件:可以從單一的膝上型電腦上執行任何東西或以高倍雲伺服器網路執行,或在兩者之間任何東西。
----------雖然說是「任何東西」,但是仍然要滿足相關的軟體和硬體的要求
1生態鏈廣:具有內建的商務智慧型工具,以及一系列的分析和報告工具,可以建立資料庫、備份、複製,帶來了更好的安全性。
oracle資料庫
面向所有主流平台
安全、完善、操作複雜
可移植性好(在各類大、中、小、微機環境中都適用)
-------因此,oracle是一種高效率、可靠性好的、適應高吞吐量的資料庫解決方案
db2資料庫
支援物件導向的程式設計:db2支援複雜的資料結構,如無結構文字物件,可以對無結構文字物件進行布林匹配、最接近匹配和任意匹配等搜尋。可以建立使用者資料型別和使用者自定義函式。
支援多**應用程式:db2支援大二分物件(blob),允許在資料庫中訪問二進位製大物件和文字大物件。其中,二進位製大物件可以用來儲存多**物件。
具有良好的備份和恢復能力
支援儲存過程和觸發器,使用者可以在建表時顯示的定義複雜的完整性規則
支援異構分布式資料庫訪問,支援資料複製
mysql資料庫
成本(免費)
自由(完全開源,適用多個場景)
效能(體積小但速度快)
通過下面的表也反映出現主流所用的資料庫都是哪些:
可以說是現如今就是oracle、mysql和sql server三分天下。
而說到資料庫,我們也需要了解資料庫的2中型別,一種為關聯式資料庫,一種為非關係型資料庫(not only sql)。
關係型資料庫,儲存的格式可以直觀地反映實體間的關係。
實體:也稱為例項,對應現實世界中可區別於其他物件的「事件「或」事物「
例如銀行客戶、銀行賬戶等
屬性:實體所具有的某一特性,乙個實體可以有多個屬性
如「銀行客戶「實體集中的每個實體均具有姓名、住址、**等屬性
聯絡:實體集之間的對應關係稱為聯絡,也稱為關係
如銀行客戶和銀行賬戶之間存在的「儲蓄」的關係
所有實體及實體之間聯絡的集合構成乙個關聯式資料庫
我們可以通過下面的圖,來具體理解實體,屬性、聯絡的含義
非關係型資料庫,儲存資料不以關係模型為依據,不需要固定的**式
非關聯式資料庫的的優點為:
資料可高併發讀寫
對海量資料高效率儲存與訪問
資料庫具有高擴充套件性與高可用性
四、編譯安裝mysql資料庫
mysql是一種開放源**的關係型資料庫管理系統(rdbms),使用最常用的資料庫管理語言–結構化查詢語言(sql)進行資料庫管理。
mysql因為其速度、可靠性和適應性而備受關注。大多數人都認為在不需要事務化處理的情況下,mysql是管理內容最好的選擇。
為了確保mysql資料庫功能的完整性、可定製性,本小節將採用源**編譯的方式安裝mysql資料庫系統。這裡我們選用mysql5.7來安裝。
1、準備安裝環境
yum -y install
ncurses
ncurses-devel
bison
cmake
##這些就是編譯安裝所需要的環境依賴包12
3456
2、為mysql資料庫建立系統賬戶,無需登入主機
useradd -s /sbin/nologin mysql
13、通過軟體將mysql-boost-5.7.20.tar.gz上傳到opt目錄下,解壓
cd /opt
tar xf mysql-boost-5.7.20.tar.gz
cd /opt/mysql-5.7.20/12
34、通過cmake工具進行編譯
cmake
-dcmake_install_prefix=/usr/local/mysql \ ##指定將mysql資料庫程式安裝到/usr/local/mysql目錄下
-dmysql_unix_addr=/usr/local/mysql/mysql.sock
-dsysconfdir=/etc \ ##指定初始化引數目錄
-dsystemd_pid_dir=/usr/local/mysql
-ddefault_charset=utf8 \ ##指定預設使用的字符集編碼
-ddefault_collation=utf8_general_ci \ ##指定預設使用的字符集校隊規則,utf8_general_ci
是適用於 utf-8 字符集的通用規則。
-dwith_innobase_storage_engine=1
-dwith_archive_storage_engine=1
-dwith_blackhole_storage_engine=1
-dwith_perfschema_storage_engine=1
-dmysql_datadir=/usr/local/mysql/data
-dwith_boost=boost
-dwith_systemd=112
3456
78910
1112
1314
155、最後make && make install ,我們可以通過在make後面新增-j3命令,來調核心進行編譯安裝,以便節省時間。
6、cmake中可能會碰到報錯,需要把原始碼目錄中的cmakecache.txt檔案刪除,然後再重新cmake,否則錯誤依舊
7、注意:make: *** no targets specified and no makefile found. stop.解決方法:
wget
tar zxvf ncurses-5.6.tar.gz
./configure -prefix=/usr/local -with-shared-without-debug
make && make install
資料庫的介紹已經mysql資料的編譯安裝就到這邊,下次我們將會具體啦來談談mysql資料的操作命令,我們下次再見
資料庫初體驗以及MySQL資料庫的安裝
mysql是乙個真正的多執行緒 多使用者的sql資料庫服務,憑藉其高效能 高可靠性和易於使用的特性,稱為伺服器領域中最受歡迎的開源資料庫系統。下面我們將具體介紹資料庫的原理以及怎麼編譯安裝mysql資料庫。了解資料庫之前,我們必須了解資料庫的一些基本構成單位 表 list 資料庫 database ...
資料庫初體驗
資料庫也是一門藝術,一門說深不深 說淺不淺的一門學問,其實它的名字 資料庫 就已經告訴我們它的本質屬性了。很簡單,就是對資料的使用 儲存。相比較以前我們學到的vb以及其他語言的程式設計知識,還很侷限,相應的和資料庫勾聯使得其功能更加強大,生存能力更強了,說的白一點,我們的應用程式腦容量打了 胃口也大...
資料庫之初體驗
資料庫 一 手頭專案需要根據資料庫的某幾個欄位去重,學習了幾種方法,執行速度差距很大.1.用兩重迴圈將資料寫入另一張表,資料量大的時候速度果然慢的不行不行的 樓主測試一萬多條資料時,十分鐘過去了還在跑,完全忍不了啊 2.用事務處理 樓主測試三萬多條資料時,5秒左右導完,兩分鐘基本上能關聯上並更新相關...