MySQL(1)数据库介绍,配置MySQL的tab补全
文章目錄
- 一、數據庫的基本概念
- 1.1 使用數據庫的必要性
- 1.2 數據庫的概念
- 1.2.1 數據(Data)
- 1.2.2 表
- 1.2.3 數據庫
- 1.2.4 數據庫管理系統(DBMS)
- 1.2.5 數據庫系統
- 1.3 訪問數據庫的流程
- 二、數據庫的發展
- 2.1 數據庫系統發展史
- 三、主流的數據庫介紹
- 3.1 關系數據庫
- 3.2 非關系數據庫
- 3.3 關系數據庫和非關系數據庫的區別
- 3.3.1 關系數據庫三個要素
- 四、配置MySQL的tab補全
- 1)安裝相關依賴軟件(需要配置yum官方或者阿里源進行安裝)
- 2)下載python安裝包(自己下載過可以忽略此步驟)
- 3)創建目錄,并添加配置
- 4)安裝相關依賴軟件,解壓python軟件包并進行編譯安裝
- 5)優化路徑,安裝pip3
- 6)登錄測試
一、數據庫的基本概念
1.1 使用數據庫的必要性
使用數據庫可以高效且條理分明地存儲數據,使人們能夠更加迅速、方便地管理數據。 數據庫具有以下特點。
可以結構化存儲大量的數據信息,方便用戶進行有效的檢索和訪問。
可以有效地保持數據信息的一致性、完整性,降低數據冗余。
可以滿足應用的共享和安全方面的要求。
數據庫技術是計算機科學的核心技術之一,具有完備的理論基礎。對數據庫基本概念的掌握,將有助于對數據庫的理解。
1.2 數據庫的概念
1.2.1 數據(Data)
描述事物的符號記錄
包括數字,文字、圖形、圖像、聲音、檔案記錄等
以“記錄”形式按統一的格式進行存儲
1.2.2 表
將不同的記錄組織在一起
用來存儲具體數據
1.2.3 數據庫
表的集合,是存儲數據的倉庫
以一定的組織方式存儲的相互有關的數據集合
1.2.4 數據庫管理系統(DBMS)
數據庫管理系統(Database Management System,DBMS)是實現對數據庫資源有效組織、 管理和存取的系統軟件。它在操作系統的支持下,支持用戶對數據庫的各項操作。DBMS 主 要包括以下功能。
數據庫的建立和維護功能:包括建立數據庫的結構和數據的錄入與轉換、數據庫的 轉儲與恢復、數據庫的重組與性能監視等功能。
數據定義功能:包括定義全局數據結構、局部邏輯數據結構、存儲結構、保密模式 及信息格式等功能。保證存儲在數據庫中的數據正確、有效和相容,以防止不合語 義的錯誤數據被輸入或輸出。
數據操縱功能:包括數據查詢統計和數據更新兩個方面。
數據庫的運行管理功能:這是數據庫管理系統的核心部分,包括并發控制、存取控 制、數據庫內部維護等功能。
通信功能:DBMS 與其他軟件系統之間的通信,如 Access 能與其他 Office 組件進行 數據交換。
1.2.5 數據庫系統
是一個人機系統,由硬件、OS、數據庫、DBMS、應用軟件和數據庫用戶組成
用戶可以通過DBMS或應用程序操作數據庫
1.3 訪問數據庫的流程
1)應用程序把查詢SQL語句發給服務器端執行。
2)服務器解析請求的SQL語句。
3)語句執行。
注意:
1:確保SQL語法正確;
2:確保SQL語義上的正確性即對象是否存在;
3:數據庫用戶是否具有相應的訪問權限。
二、數據庫的發展
2.1 數據庫系統發展史
數據庫技術的發展已經成為先進信息技術的重要組成部分,是現代計算機信息系統和計 算機應用系統的基礎和核心。數據庫技術最初產生于 20 世紀 60 年代中期,根據數據模型的 發展,可以劃分為三個階段:第一代的網狀、層次數據庫系統;第二代的關系數據庫系統; 第三代的以面向對象模型為主要特征的數據庫系統。
(1)初級階段——第一代數據庫
自 20 世紀 60 年代起,第一代數據庫系統問世。它們是層次模型與網狀模型的數據庫系 統,為統一管理和共享數據提供了有力的支撐。在這個階段中,數據庫的代表是 1969 年 IBM 公司研制的層次模型的數據庫管理系統——IMS(Information Management System,信息管 理系統)和 20 世紀 70 年代美國數據系統語言協會(CODASYL)下屬數據庫任務組(DBTG) 提議的網狀模型。
(2)中級階段——第二代數據庫
20 世紀 70 年代初,第二代數據庫——關系數據庫開始出現。自 1970 年 IBM 研究員德 加·考特闡述了關系模型的概念后,IBM 大力投入關系數據庫的研究。關系數據庫的底層實 現起來比較容易,所以很快被采用,并進入了眾多商業數據庫的研發計劃。Oracle 就是當 時應關系數據模型的出現而成立的一家專做(關系)數據庫的公司。20 世紀 80 年代初,IBM 公司的關系數據庫系統 DB2 問世,而 Oracle 公司也將 Oracle 數據庫移植到桌面計算機上。 這時,作為第二代數據庫系統的關系數據庫,開始逐步取代層次與網狀模型的數據庫,成為 占主導地位的數據庫,成為行業主流。到目前為止,關系數據庫系統仍占領數據庫應用的主 要地位。
關系數據庫系統將結構化查詢語言(Structured Query Language,SQL)作為數據定義 語言(Data Definition Language,DDL)和數據操作語言(Data Manipulation Language, DML),它一誕生就成為關系數據庫的標準語言。SQL 使得關系數據庫中的數據庫表的查詢 可以通過簡單的、聲明性的方式進行,大大簡化了程序員的工作。
關系數據庫系統構筑在比較高的軟件層次上,執行查詢的效率普遍偏低。另外,嚴格的、 標準的關系數據庫是一個純理論的模型。如果完全按照關系模型實現,會涉及很多方面的問 題,其中一條就是效率不高。在現實環境中,考慮到商業運用的目的,數據庫生產廠商各自 加入了一些提高效率和提高可用性的功能,舍棄了一些不太現實的約束。不同的數據庫廠商 在不同基礎上的選擇,導致了關系數據庫系統向不同方向上的變遷。例如,在這個階段中, Oracle 加入了“并行”的元素,并開始了向“關系-對象”型數據庫的變遷。這樣的變遷, 也慢慢引出了新一代的數據庫系統。
(3)高級階段——第三代數據庫
由于計算機應用的發展,計算機已從傳統的科學計算、事務處理等領域,逐步擴展到工 程設計、人工智能、多媒體、分布式等領域,這些新的領域需要有新的數據庫支撐,而傳統 關系數據庫系統是以商業應用、事務處理為背景而發展起來的,并不完全適用于新領域的應 用,因此,需要新的數據庫系統,以滿足不同領域的要求。
自 20 世紀 80 年代開始,各種適應不同領域的新型數據庫系統不斷涌現,如工程數據庫、 多媒體數據庫、圖形數據庫、智能數據庫、分布式數據庫及面向對象數據庫等,特別是面向 對象數據庫系統,由于其實用性強、適應面廣而受到人們的青睞。20 世紀 90 年代后期,形 成了多種數據庫系統共同支撐應用的局面。當然,在商務應用方面,依然還是關系數據庫占 主流。不過,已經有一些新的元素被添加進主流商務數據庫系統中。例如,Oracle 支持的“關 系-對象”數據庫模型。
隨著科學技術的發展,計算機技術不斷應用到各行各業。數據存儲需求的不斷膨脹,對 未來的數據庫技術將會有更高的要求。
三、主流的數據庫介紹
3.1 關系數據庫
①SQL Server 簡介
SQL Server 是 Microsoft 公司的數據庫產品,在設計上大量利用了 Microsoft Windows 操作系統的底層結構,直接面向 Microsoft Windows,尤其是 Windows 系列服務器操作系統 的用戶。
Microsoft Windows 擁有眾多的用戶群,Microsoft 所有的產品都遵循統一的操作習慣。 對數據庫基本概念熟悉的 Windows 用戶,可以很快地學會使用 SQL Server,上手比較容易。 Windows 系統的易用性也讓數據庫管理員可以更容易、更方便、更輕松地進行管理。
Microsoft 公司針對市場的需求,不斷擴展其性能,使得 SQL Server 在網絡數據庫服 務和電子商務方面展示了強大的性能。
②Oracle 簡介
Oracle 公司成立于 1977 年,最初就是專門的數據庫公司。
1998 年 9 月,Oracle 公司正式發布 Oracle 8i,“i”代表 Internet,這一版本中添加 了大量為支持 Internet 而設計的特性。這一版本為數據庫用戶提供了全方位的 Java 支持。
在 2001 年 6 月的 Oracle Open World 大會中,Oracle 公司發布了 Oracle 9i,包含應 用集群軟件 Real Application Clusters(RAC)和商務智能(BI)功能。
2004 年 2 月,Oracle 公司發布了 Oracle 10g 版本,“g”代表 grid(網格)。這一版 的最突出特性就是加入了網格計算的功能。
2013 年 6 月,Oracle 12C 正式發布,該版本提供了先進的技術堆棧管理、安全的數據 庫管理及企業級的服務管理,使企業能夠快速實現私有云。
數據庫領域 Oracle 公司在很長一段時間內一直處于領先地位,不僅數據庫核心相當優 秀,而且其相關的支持產品也相當完善和全面。Oracle 能適應 70 多種操作系統,這也是其 他產品難以企及的優勢。不過隨著云計算的不斷發展,以 Oracle 為代表的傳統數據庫正在 逐漸失勢,云數據庫時代正在來臨。2019 年 10 月 15 日亞馬遜宣布永久關閉 Oracle 數據庫 業務。可以說亞馬遜關閉 Oracle 既是自身產業轉型升級的需要,也是云計算領域發展邁出 的重要一步。如今已經有越來越多的企業開始上云,拋棄傳統數據庫,轉而使用云數據庫, 推動著云計算的不斷發展。
③DB2 簡介
1970 年,IBM 公司的一位研究員德加·考特發表論文,提出“關系模型”的概念。此后, 他被稱為“關系數據庫之父”。IBM 公司投入巨資,開展包括“SystemR”和“SystemR*” 項目在內的關系數據庫技術的研究。13 年后,在“SystemR”和“SystemR*”項目的基礎上, DB2 以 SystemR 為原型面世。
DB2 支持從 PC 到 UNIX,從中小型機到大型機,從 IBM 到非 IBM(HP 及 Sun UNIX 系統等) 的各種操作系統平臺。其中,服務器平臺可以是 OS/400、AIX、OS/2、HP-UNIX、Sun Solaris 等操作系統,客戶機平臺可以是 OS/2 或 Windows、DOS、AIX、HP-UX、Sun Solaris 等操作 系統。但是,DB2 服務器端的最佳運行環境還是 IBM 自己的操作系統平臺 OS/400。
DB2 數據庫核心又稱為 DB2 通用服務器,可以運行于多種操作系統之上,它根據相應的 平臺環境做了調整和優化,以便達到較好的性能。由于 IBM 公司在商用服務器領域內的長期 優勢,在全球 500 強的企業中,超過 80%的企業曾使用 DB2 作為數據庫平臺。
④MySQL簡介
MySQL 也是一個關系型數據庫管理系統,現已被 Oracle 公司收購。它與上述大型數據 庫相比,有不足之處,但是這絲毫沒有減少它受歡迎的程度。
MySQL 運行于 Linux 操作系統之上,Apache 和 Nginx 作為 Web 服務器,MySQL 作為后臺 數據庫,PHP/Perl/Python 作為腳本解釋器。這四款軟件都是免費或開源的,也就是說,企 業可以不花一分錢(除人工外)就能建立起一個穩定、高速的網站系統,業內稱為“LAMP”組合。因此,其以體積小、速度快、開源等特點,霸占了中小型網站相當大的市場。
3.2 非關系數據庫
非關系數據庫也被稱作 NoSQL(Not Only SQL),存儲數據不以關系模型為依據,不需要 固定的表格式。非關系型數據庫作為關系數據庫的一個補充,在日益快速發展的網站時代, 發揮著高效率與高性能。
非關系型數據庫的優點:
? 數據庫高并發讀寫的需求
? 對海量數據高效率存儲與訪問
? 數據庫的高擴展性與高可用性的需求 常用的非關系數據庫例如 Memcached、Redis、MongoDB、HBase等,我這里就不詳細介紹了。
3.3 關系數據庫和非關系數據庫的區別
關系數據庫系統是基于關系模型的數據庫系統
關系模型的數據結構使用簡單易懂的二維數據表
關系模型可用簡單的“實體-關系”(E-R)圖來表示
E-R圖中包含了實體(數據對象)、關系和屬性三個要素
3.3.1 關系數據庫三個要素
1)實體:也稱為實例,對應現實世界中可區別于其他對象的“事件”或“事物”
如銀行客戶、銀行賬戶等
2)屬性:實體所具有的某一特性,一個實體可以有多個屬性
如“銀行客戶”實體集中的每個實體均具有姓名、住址、電話等屬性
3)聯系:實體集之間的對應關系稱為聯系,也稱為關系
如銀行客戶和銀行賬戶之間存在“儲蓄”的關系
非關系數據庫也被稱作NoSQL(Not Only SQL)
存儲數據不以關系模型為依據,不需要固定的表格式
非關系型數據庫的優點
數據庫可高并發讀寫
對海量數據高效率存儲與訪問
數據庫具有高擴展性與高可用性
常用的非關系數據庫:Redis、mongoDB等
四、配置MySQL的tab補全
1)安裝相關依賴軟件(需要配置yum官方或者阿里源進行安裝)
yum -y install epel-release
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel gcc
2)下載python安裝包(自己下載過可以忽略此步驟)
wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz
3)創建目錄,并添加配置
mkdir ~/.pip/
cat > ~/.pip/pip.conf <<EOF
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
EOF
4)安裝相關依賴軟件,解壓python軟件包并進行編譯安裝
yum -y install libffi-devel zlib* python-devel openssl-devel
tar -zxvf Python-3.9.0.tgz
cd Python-3.9.0/
./configure --prefix=/usr/local/python --with-ssl
make && make install
5)優化路徑,安裝pip3
ln -s /usr/local/python/bin/python3 /usr/bin/
echo ‘export PATH=/usr/local/python/bin:$PATH’ >> /etc/profile
source /etc/profile
pip3 install mycli
6)登錄測試
mycli -u root -p <密碼>
總結
以上是生活随笔為你收集整理的MySQL(1)数据库介绍,配置MySQL的tab补全的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LVS+Keepalived 高可用群集
- 下一篇: MySQL(2)数据库管理