1. 程式人生 > 其它 >牛客網-mysql(一)簡介及安裝

牛客網-mysql(一)簡介及安裝

第一節 MySQL簡介

MySQL 是最流行的關係型資料庫管理系統,在 WEB 應用方面 MySQL 是最好的 RDBMS(Relational Database Management System:關係資料庫管理系統)應用軟體之一。

我們使用關係型資料庫管理系統(RDBMS)來儲存和管理的大資料量。

所謂的關係型資料庫,是建立在關係模型基礎上的資料庫,藉助於集合代數等數學概念和方法來處理資料庫中的資料。

RDBMS 即關係資料庫管理系統(Relational Database Management System)的特點:

  • 資料以表格的形式出現
  • 每行為各種記錄名稱
  • 每列為記錄名稱所對應的資料域
  • 許多的行和列組成一張表單
  • 若干的表單組成database

開始學習MySQL 資料庫前,讓我們先了解下RDBMS的一些術語:

  • 資料庫:資料庫是一些關聯表的集合。
  • 資料表:表是資料的矩陣。在一個數據庫中的表看起來像一個簡單的電子表格
  • 列:一列(資料元素) 包含了相同型別的資料。
  • 行:一行(=元組,或記錄)是一組相關的資料,例如一條使用者訂閱的資料
  • 冗餘:儲存兩倍資料,冗餘降低了效能,但提高資料的安全性
  • 主鍵:主鍵是唯一的。一個數據表中只能包含一個主鍵。可以使用主鍵來查詢資料。
  • 外來鍵:外來鍵用於關聯兩個表。
  • 複合鍵:複合鍵(組合鍵)將多個列作為一個索引鍵,一般用於複合索引。
  • 索引:使用索引可快速訪問資料庫表中的特定資訊。索引是對資料庫表中一列或多列的值進行排序的一種結構
    。類似於書籍的目錄。
  • 參照完整性:參照的完整性要求關係中不允許引用不存在的實體。與實體完整性是關係模型必須滿足的完整性約束條件,目的是保證資料的一致性。

MySQL 為關係型資料庫(Relational Database Management System), 這種所謂的"關係型"可以理解為"表格"的概念, 一個關係型資料庫由一個或數個表格組成, 如圖所示的一個表格:

  • 表頭(header): 每一列的名稱;
  • 列(col): 具有相同資料型別的資料的集合;
  • 行(row): 每一行用來描述某條記錄的具體資訊;
  • 值(value): 行的具體資訊, 每個值必須與該列的資料型別相同;
  • 鍵(key)
    : 鍵的值在當前列中具有唯一性。

MySQL 是一個關係型資料庫管理系統,由瑞典 MySQL AB 公司開發,目前屬於 Oracle 公司。MySQL 是一種關聯資料庫管理系統,關聯資料庫將資料儲存在不同的表中,而不是將所有資料放在一個大倉庫內,這樣就增加了速度並提高了靈活性。

  • MySQL 是開源的。
  • MySQL 支援大型的資料庫。可以處理擁有上千萬條記錄的大型資料庫。
  • MySQL 使用標準的 SQL 資料語言形式。
  • MySQL 可以運行於多個系統上,並且支援 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
  • MySQL 對PHP有很好的支援,PHP 是目前最流行的 Web 開發語言。
  • MySQL 支援大型資料庫,支援 5000 萬條記錄的資料倉庫,64 位系統支援最大的表文件為8TB。
  • MySQL 是可以定製的,採用了 GPL 協議。

第2節 MySQL 安裝

安裝教程

(base) [root@localhost local]# mkdir mysql
(base) [root@localhost local]# ll
總用量 0
drwxr-xr-x. 2 root root  6 6月  22 13:06 bin
drwxr-xr-x. 2 root root  6 6月  22 13:06 etc
drwxr-xr-x. 2 root root  6 6月  22 13:06 games
drwxr-xr-x. 2 root root  6 6月  22 13:06 include
drwxr-xr-x. 2 root root  6 6月  22 13:06 lib
drwxr-xr-x. 3 root root 17 11月 19 01:00 lib64
drwxr-xr-x. 2 root root  6 6月  22 13:06 libexec
drwxr-xr-x. 2 root root  6 11月 22 16:46 mysql
drwxr-xr-x. 2 root root  6 6月  22 13:06 sbin
drwxr-xr-x. 5 root root 49 11月 19 01:00 share
drwxr-xr-x. 2 root root  6 6月  22 13:06 src
(base) [root@localhost local]# cd mysql/
(base) [root@localhost mysql]# ll
總用量 779100
-rw-r--r--. 1 root root 797798400 11月 22 16:46 mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar
(base) [root@localhost mysql]# tar -xvf mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar 
mysql-community-client-8.0.27-1.el8.x86_64.rpm
mysql-community-client-debuginfo-8.0.27-1.el8.x86_64.rpm
mysql-community-client-plugins-8.0.27-1.el8.x86_64.rpm
mysql-community-client-plugins-debuginfo-8.0.27-1.el8.x86_64.rpm
mysql-community-common-8.0.27-1.el8.x86_64.rpm
mysql-community-debuginfo-8.0.27-1.el8.x86_64.rpm
mysql-community-debugsource-8.0.27-1.el8.x86_64.rpm
mysql-community-devel-8.0.27-1.el8.x86_64.rpm
mysql-community-libs-8.0.27-1.el8.x86_64.rpm
mysql-community-libs-debuginfo-8.0.27-1.el8.x86_64.rpm
mysql-community-server-8.0.27-1.el8.x86_64.rpm
mysql-community-server-debug-8.0.27-1.el8.x86_64.rpm
mysql-community-server-debug-debuginfo-8.0.27-1.el8.x86_64.rpm
mysql-community-server-debuginfo-8.0.27-1.el8.x86_64.rpm
mysql-community-test-8.0.27-1.el8.x86_64.rpm
mysql-community-test-debuginfo-8.0.27-1.el8.x86_64.rpm
(base) [root@localhost mysql]# rpm -ivh mysql-community-libs-8.0.27-1.el8.x86_64.rpm --nodeps --force
警告:mysql-community-libs-8.0.27-1.el8.x86_64.rpm: 頭V3 DSA/SHA256 Signature, 金鑰 ID 5072e1f5: NOKEY
Verifying...                          ################################# [100%]
準備中...                          ################################# [100%]
正在升級/安裝...
   1:mysql-community-libs-8.0.27-1.el8################################# [100%]
(base) [root@localhost mysql]# rpm -ivh mysql-community-common-8.0.27-1.el8.x86_64.rpm --nodeps --force
警告:mysql-community-common-8.0.27-1.el8.x86_64.rpm: 頭V3 DSA/SHA256 Signature, 金鑰 ID 5072e1f5: NOKEY
Verifying...                          ################################# [100%]
準備中...                          ################################# [100%]
正在升級/安裝...
   1:mysql-community-common-8.0.27-1.e################################# [100%]
(base) [root@localhost mysql]# rpm -ivh mysql-community-client-8.0.27-1.el8.x86_64.rpm --nodeps --force
警告:mysql-community-client-8.0.27-1.el8.x86_64.rpm: 頭V3 DSA/SHA256 Signature, 金鑰 ID 5072e1f5: NOKEY
Verifying...                          ################################# [100%]
準備中...                          ################################# [100%]
正在升級/安裝...
   1:mysql-community-client-8.0.27-1.e################################# [100%]
(base) [root@localhost mysql]# rpm -ivh mysql-community-server-8.0.27-1.el8.x86_64.rpm --nodeps --force
警告:mysql-community-server-8.0.27-1.el8.x86_64.rpm: 頭V3 DSA/SHA256 Signature, 金鑰 ID 5072e1f5: NOKEY
Verifying...                          ################################# [100%]
準備中...                          ################################# [100%]
正在升級/安裝...
   1:mysql-community-server-8.0.27-1.e################################# [100%]
[/usr/lib/tmpfiles.d/mysql.conf:23] Line references path below legacy directory /var/run/, updating /var/run/mysqld → /run/mysqld; please update the tmpfiles.d/ drop-in file accordingly.
(base) [root@localhost mysql]# rpm -qa | grep mysql
mysql-community-client-8.0.27-1.el8.x86_64
mysql-community-libs-8.0.27-1.el8.x86_64
mysql-community-server-8.0.27-1.el8.x86_64
mysql-community-common-8.0.27-1.el8.x86_64


(base) [root@localhost mysql]# mysqld --initialize
(base) [root@localhost mysql]# chown mysql:mysql /var/lib/mysql -R
(base) [root@localhost mysql]# systemctl start mysqld.service
(base) [root@localhost mysql]# systemctl enable mysqld

cat /var/log/mysqld.log |grep password # 檢視隨機密碼

之後再mysql資料夾下輸入 mysql -uroot -p 之後輸入隨機密碼進入資料庫