Linux--MySQL資料庫基本瞭解
Linux--MySQL資料庫基本瞭解
一、資料庫的基本概念
1.資料(Data)
• 描述事物的符號記錄
• 包括數字,文字,圖形,影象,聲音,檔案記錄等
• 以“記錄”形式按統一的格式進行儲存
2.表
• 將不同的記錄組織在一起
• 用來儲存具體資料
3.資料庫
• 表的集合,是儲存資料的倉庫
• 以一定的組織方式儲存的相互有關的資料集合
4.資料庫管理系統(DBMS)
• 是實現對資料庫資源有效組織、管理和存取的系統軟體
5.資料庫系統
• 是一個人機系統,由硬體、os、資料庫、DBMS、應用軟體和資料庫使用者組成
• 使用者可以通過DBMS或應用程式操作資料庫
二、資料庫系統發展史
1.第一代資料庫
• 自20世紀60年代起,第一代資料庫系統問世
• 是層次模型與網狀模型的資料庫系統
• 為統一管理和共享資料提供了有力的支撐
2.第二代資料庫
• 20世紀70年代,第二代資料庫—關係資料庫開始出現
• 20世紀80年代,IBM公司的關係資料庫系統DB2問世,開始逐步取代層次與網狀模型的資料庫,成為行業主流
• 到目前為止,關係資料庫系統仍佔領資料庫應用的主要地位
3.第三代資料庫
• 自20世紀80年代開始,適應不同領域的新型資料庫系統不斷湧現
• 面向物件的資料庫系統,實用性強,適應面廣
• 20世紀90年代後期,形成了多種資料庫系統共同支撐應用的局面
• 一些新的元素被新增進主流資料庫系統中
例如,Oracle支援的 “關係-物件"資料庫模型
三、當今主流資料庫介紹
1.SQL Server (微軟公司產品)
• 面向Windows作業系統
• 簡單、易用
2.Oracle (甲骨文公司產品)
• 面向所有主流平臺,
• 安全、完善,操作複雜
3.DB2 (IBM公司產品)
• 面向所有主流平臺
• 大型、安全、完善
4.MySQL (甲骨文公司收購)
• 免費、開源、體積小
四、關係資料庫
• 關係資料庫系統是基於關係模型的資料庫系統
• 關係模型的資料結構使用簡單易懂的二_維資料表
• 關係模型可用簡單的“實體關係”(E-R) 圖來表示
• E-R圖中包含了實體(資料物件)、關係和屬性三個要素
1.實體
• 也稱為例項,對應現實世界中可區別於其它物件的“事件”或“事物”
♢如銀行客戶、銀行賬戶等
2.屬性
• 實體所具體的某一特性,一個實體可以有多個屬性
♢ 如“銀行客戶”實體集中的每個實體均具有姓名、住址、電話等屬性
3.聯絡
• 實體集之間的對應關係稱為聯絡,也稱為關係
♢如銀行客戶和銀行賬戶存在“儲蓄”的關係
4.所有實體及實體之間聯絡的集合構成一個關係資料庫
5.關係資料庫的儲存結構是二維表格
6.在每個二維表中
• 每一行稱為一條記錄,用來描述一個物件的資訊
• 每一列稱為一個欄位,用來描述物件的一個屬性
五、關係資料庫應用
1.關係資料庫
• Oracle , MySQL
• SQLServer、Sybase
• Informix、access
• DB2、FoxPRO
2.應用舉例
• 12306使用者資訊系統
• 淘寶賬號系統
• 聯通手機號資訊系統
• 銀行使用者賬號系統
• 網站使用者資訊系統
六、非關係資料庫
1.非關係資料庫也被稱作NoSQL (Not Only SQL)
2.儲存資料不以關係模型為依據,不需要固定的表格式
3.非關係型資料庫的優點
• 資料庫可高併發讀寫
• 對海資料高效率儲存與訪問
• 資料庫具有高擴充套件性與高可用性
4.常用的非關係資料庫:Redis、mongoDB等
七、MySQL資料庫介紹
1.一款深受歡迎的開源關係型資料庫
2.Oracle旗下的產品
3.遵守GPL協議,可以免費使用與修改
4.特點
• 效能卓越、服務穩定
• 開源、無版權限制、成本低
• 多執行緒、多使用者
• 基於C/S (客戶端/伺服器)架構
• 安全可靠
八、MySQL商業版與社群版
1.MySQL商業版是由MySQL AB公司負責開發與維護,需要付費才能使用
2.MySQL社群版是由分散在世界各地的MySQL開發者、愛好者一起開發與維護,可以免費使用
3.兩者區別
• 商業版組織管理與測試環節更加嚴格,蚍社群版更穩定
• 商業版不遵守GPL,社群版遵從GPL可以免費使用
• 商業版可獲得7*24小時的服務,社群版則沒有
九、MySQL產品陣營
1.第一陣營: 5.0-5.1陣營,可說是早期產品的延續
2.第二陣營: 5.4-5.7陣營, 整合了MySQL AB公司、社群和第三方公司開發的儲存引擎,從而提高效能
3.第三陣營: 6.0-7.1陣營, 就是MySQL Cluster版本,為適應新時代對資料庫的叢集需求而開發
4.下載網址
●http://www.dev.mysql.com/downloads
十、MySQL資料庫自動補全命令的三種方式
方式一:臨時使用自動補全功能
mysql -u root -p --auto-rehash
方式二:永久使用自動補全功能
vi /etc/my.cnf [mysql] auto-rehash
方式三:使用軟體mycli實現自動補全功能
yum -y install epel-release #官方源安裝 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-develdb4 -devel libpcap-devel xz-devel gcc wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz mkdir ~/.pip/ cat > ~/.pip/pip.conf <<EOF [global] index-url = https://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com EOF 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 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 mycli -u root -p <密碼>