溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫(kù)基礎(chǔ)

發(fā)布時(shí)間:2020-10-25 22:43:06 來(lái)源:腳本之家 閱讀:175 作者:SsunTtaoauto 欄目:MySQL數(shù)據(jù)庫(kù)

MySQL軟件安裝及數(shù)據(jù)庫(kù)基礎(chǔ),供大家參考,具體內(nèi)容如下

一、任務(wù)

任務(wù)一

MySQL 軟件安裝及數(shù)據(jù)庫(kù)基礎(chǔ)

任務(wù)時(shí)間

請(qǐng)于2月26日22:00前完成,在本文章評(píng)論打卡。逾期尚未打卡的會(huì)被清退。

學(xué)習(xí)內(nèi)容

1.軟件安裝及服務(wù)器設(shè)置

   教程 MySQL 安裝 | 菜鳥(niǎo)教程

2.(選做,但是強(qiáng)烈建議) 使用圖形界面軟件 Navicat for SQL

   星球提供Navicat for SQL
   簡(jiǎn)易步驟:
      解壓縮文件,復(fù)制key
      打開(kāi)文件夾中的navicat.exe
      用戶名隨意,輸入key,然后連接數(shù)據(jù)庫(kù)
      輸入密碼,連接名改成自己喜歡的
      剩下的自己探索,怎么在navicat中創(chuàng)建數(shù)據(jù)庫(kù)、表等等

3.數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)

   數(shù)據(jù)庫(kù)定義
   關(guān)系型數(shù)據(jù)庫(kù)
   二維表
   行
   列
   主鍵
   外鍵

4.MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)

   數(shù)據(jù)庫(kù)
   數(shù)據(jù)表
   視圖
   存儲(chǔ)過(guò)程

二、軟件安裝及服務(wù)器設(shè)置

系統(tǒng)環(huán)境:win10 家庭版

2.1 MySQL安裝

2.1.1 在MySQL官網(wǎng) 下載 Windows 版本的 MySQL 安裝包

地址為:MySQL下載

mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫(kù)基礎(chǔ)

點(diǎn)擊下載Download后會(huì)彈出以下界面,點(diǎn)擊 No thanks, just start my download

mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫(kù)基礎(chǔ)

2.1.2 下載完后解壓,將 zip 包解壓到你想安裝的目錄,我的路徑如下所示:

mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫(kù)基礎(chǔ)

2.1.3 配置環(huán)境變量:

進(jìn)入 計(jì)算機(jī)—屬性—高級(jí)系統(tǒng)設(shè)置—環(huán)境變量,添加MySQL解壓的路徑。

mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫(kù)基礎(chǔ)

2.1.4 接下來(lái)配置 MySQL 的配置文件

打開(kāi)剛剛解壓的文件夾 D:\軟件\Mysql\mysql-8.0.15-winx64\mysql-8.0.15-winx64 ,創(chuàng)建一個(gè)配置文件為 my.ini,編輯 my.ini 配置以下基本信息:

[mysql]
default-character-set=utf8

[mysqld]
port = 3306
basedir=D:\軟件\Mysql\mysql-8.0.15-winx64\mysql-8.0.15-winx64
datadir=D:\軟件\Mysql\mysql-8.0.15-winx64\mysql-8.0.15-winx64\data
character-set-server=utf8
default-storage-engine=INNODB

mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫(kù)基礎(chǔ)

1.接下來(lái)我們來(lái)啟動(dòng)下 MySQL 數(shù)據(jù)庫(kù):
管理員身份打開(kāi) cmd 命令行工具,切換目錄:

D:
cd D:\軟件\Mysql\mysql-8.0.15-winx64\mysql-8.0.15-winx64\bin

mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫(kù)基礎(chǔ)

輸入初始化命令:

mysqld --initialize-insecure --user=mysql 

mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫(kù)基礎(chǔ)

在D:\軟件\Mysql\mysql-8.0.15-winx64\mysql-8.0.15-winx64\bin目錄下生成data目錄

啟動(dòng)輸入以下命令即可:

net start mysql

mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫(kù)基礎(chǔ)

這證明已經(jīng)連接成功。

2.2 MySQL 重置密碼

2.2.1 登錄MySQL

輸入:

mysql -u root -p

因?yàn)橹皼](méi)設(shè)置密碼,所以密碼為空,直接回車即可:

mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫(kù)基礎(chǔ)

2.2.2 查詢用戶密碼

查詢用戶密碼命令:

mysql> select host,user,authentication_string from mysql.user;

host: 允許用戶登錄的ip;
user:當(dāng)前數(shù)據(jù)庫(kù)的用戶名;
authentication_string: 用戶密碼;
如果沒(méi)密碼, root 這一行應(yīng)該是空的。

mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫(kù)基礎(chǔ)

2.2.3 設(shè)置(或修改)root用戶密碼:

注意:在MySQL 5.7.9以后廢棄了password字段和password()函數(shù)

一定不要采取如下形式設(shè)置密碼:

use mysql; 
update user set authentication_string="newpassword" where user="root";

這樣會(huì)給user表中root用戶的authentication_string字段下設(shè)置了newpassword值;

正確修改root密碼的步驟為:

1.如果當(dāng)前root用戶authentication_string字段下有內(nèi)容,先將其設(shè)置為空,沒(méi)有就跳到步驟 2。

use mysql; 
update user set authentication_string='' where user='root'

2.使用ALTER修改root用戶密碼,方法為:

use mysql;
ALTER user 'root'@'localhost' IDENTIFIED BY '新密碼';
FLUSH PRIVILEGES;

mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫(kù)基礎(chǔ)

到此為止自己創(chuàng)建的本地MySQL創(chuàng)建完畢?。?!
重新連接即可!?。?/p>

三、使用圖形界面軟件 Navicat for SQL

Navicat for SQL安裝包已存百度網(wǎng)盤:navicat+for+mysql10.0.11簡(jiǎn)體中文

1.解壓縮文件,復(fù)制key
2.打開(kāi)文件夾中的navicat.exe
3.用戶名隨意,輸入key,然后連接數(shù)據(jù)庫(kù)
4.輸入密碼(之前如果MySQL重新設(shè)置過(guò)密碼,那這里就填新設(shè)置的密碼就好),連接名改成自己喜歡的

出現(xiàn)的問(wèn)題: 這里連接出現(xiàn)失敗,如圖

mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫(kù)基礎(chǔ)

解決方案:

mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫(kù)基礎(chǔ)

這里的問(wèn)題其實(shí)MySQL在之前設(shè)置密碼時(shí)所用的加密方式ALTER user 'root'@'localhost' IDENTIFIED BY '新密碼';為強(qiáng)加密,就會(huì)出現(xiàn)連接失敗的情況;如果使用第二種加密方式ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '新密碼';,就可以直接連上了。

mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫(kù)基礎(chǔ)

mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫(kù)基礎(chǔ)

成功連接!?。?/p>

mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫(kù)基礎(chǔ)

到此,所需軟件的安裝及環(huán)境配置工作全部完成,可以開(kāi)心的遨游MySQL的世界啦~~

四、數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)

4.1 數(shù)據(jù)庫(kù)(database)定義

以《SQL必知必會(huì)(第4版) 》這本書(shū)來(lái)說(shuō),從 SQL的角度來(lái)看,數(shù)據(jù)庫(kù)是一個(gè)以某種有組織的方式存儲(chǔ)的數(shù)據(jù)集合,是保存有組織的數(shù)據(jù)的容器(通常是一個(gè)文件或一組文件)。

注意: 人們通常用數(shù)據(jù)庫(kù)這個(gè)術(shù)語(yǔ)來(lái)代表他們使用的數(shù)據(jù)庫(kù)軟件, 這是不正確的,也因此產(chǎn)生了許多混淆。確切地說(shuō),數(shù)據(jù)庫(kù)軟件應(yīng)稱為數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)。數(shù)據(jù)庫(kù)是通過(guò) DBMS創(chuàng)建和操縱的容器,而具體它究竟是什么,形式如何,各種數(shù)據(jù)庫(kù)都不一樣。

4.2 關(guān)系型數(shù)據(jù)庫(kù)

mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫(kù)基礎(chǔ)

關(guān)系型數(shù)據(jù)庫(kù)最典型的數(shù)據(jù)結(jié)構(gòu)是表,由二維表及其之間的聯(lián)系所組成的一個(gè)數(shù)據(jù)組織。

優(yōu)點(diǎn):

1.易于維護(hù):都是使用表結(jié)構(gòu),格式一致;
2.使用方便:SQL語(yǔ)言通用,可用于復(fù)雜查詢;
3.復(fù)雜操作:支持SQL,可用于一個(gè)表以及多個(gè)表之間非常復(fù)雜的查詢。

缺點(diǎn):

4.讀寫性能比較差,尤其是海量數(shù)據(jù)的高效率讀寫;
5.固定的表結(jié)構(gòu),靈活度稍欠;
6.高并發(fā)讀寫需求,傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)來(lái)說(shuō),硬盤I/O是一個(gè)很大的瓶頸。

4.3 二維表

是一種結(jié)構(gòu)化的文件,可用來(lái)存儲(chǔ)某種特定類型的數(shù)據(jù)。表可以保存顧客清單、 產(chǎn)品目錄,或者其他信息清單。表是某種特定類型數(shù)據(jù)的結(jié)構(gòu)化清單

存儲(chǔ)在表中的數(shù)據(jù)是同一種類型的數(shù)據(jù)或清單。決不應(yīng)該將顧客的清單與訂單的清單存儲(chǔ)在同一個(gè)數(shù)據(jù)庫(kù)表中,否則以后的檢索和訪問(wèn)會(huì)很困難。 應(yīng)該創(chuàng)建兩個(gè)表,每個(gè)清單一個(gè)表。

數(shù)據(jù)庫(kù)中的每個(gè)表都有一個(gè)名字來(lái)標(biāo)識(shí)自己。 這個(gè)名字是唯一的,即數(shù)據(jù)庫(kù)中沒(méi)有其他表具有相同的名字。 雖然在相同數(shù)據(jù)庫(kù)不能兩次使用相同的表名,但在不同的數(shù)據(jù)庫(kù)中完全可以使用相同的表名。

模式可以用來(lái)描述數(shù)據(jù)庫(kù)中特定的表,也可以用來(lái)描述整個(gè)數(shù)據(jù)庫(kù)(和其中表的關(guān)系)。模式是關(guān)于數(shù)據(jù)庫(kù)和表的布局特性的信息。

4.4 行

表中的數(shù)據(jù)是按行存儲(chǔ)的,所保存的每個(gè)記錄存儲(chǔ)在自己的行內(nèi)。

你可能聽(tīng)到用戶在提到時(shí)稱其為數(shù)據(jù)庫(kù)記錄(record)。 這兩個(gè)術(shù)語(yǔ)多半是可以交替使用的,但從技術(shù)上說(shuō),才是正確的術(shù)語(yǔ)。

4.5 列

表由組成。列存儲(chǔ)表中某部分的信息。列是表中的一個(gè)字段。所有表都是由一個(gè)或多個(gè)列組成的。

數(shù)據(jù)庫(kù)中每個(gè)列都有相應(yīng)的數(shù)據(jù)類型。數(shù)據(jù)類型(datatype)定義了列可以存儲(chǔ)哪些數(shù)據(jù)種類。數(shù)據(jù)類型限定了可存儲(chǔ)在列中的數(shù)據(jù)種類(例如,防止在數(shù)值字段中錄入字符值)。

數(shù)據(jù)類型及其名稱是SQL不兼容的一個(gè)主要原因。

4.6 主鍵

表中每一行都應(yīng)該有一列(或幾列)可以唯一標(biāo)識(shí)自己。 顧客表可以使用顧客編號(hào),而訂單表可以使用訂單 ID。雇員表可以使用雇員 ID或雇員社會(huì)安全號(hào)。

主鍵(primary key) 是一列(或一組列),其值能夠唯一標(biāo)識(shí)表中每一行。沒(méi)有主鍵,更新或刪除表中特定行就極為困難,因?yàn)槟悴荒鼙WC操作只涉及相關(guān)的行。

提示: 應(yīng)該總是定義主鍵
雖然并不總是需要主鍵,但多數(shù)數(shù)據(jù)庫(kù)設(shè)計(jì)者都會(huì)保證他們創(chuàng)建的每個(gè)表具有一個(gè)主鍵,以便于以后的數(shù)據(jù)操作和管理。

表中的任何列都可以作為主鍵,只要它滿足以下條件:

  • 任意兩行都不具有相同的主鍵值;
  • 每一行都必須具有一個(gè)主鍵值(主鍵列不允許 NULL值);
  • 主鍵列中的值不允許修改或更新;
  • 主鍵值不能重用(如果某行從表中刪除,它的主鍵不能賦給以后的新行)。

主鍵通常定義在表的一列上,但并不是必需這么做,也可以一起使用多個(gè)列作為主鍵。在使用多列作為主鍵時(shí),上述條件必須應(yīng)用到所有列,所有列值的組合必須是唯一的(但單個(gè)列的值可以不唯一)。

4.7 外鍵

外鍵是表中的一列,其值必須列在另一表的主鍵中。外鍵是保證引用完整性的極其重要部分。

外鍵有助防止意外刪除。在定義外鍵后, DBMS不允許刪除在另一個(gè)表中具有關(guān)聯(lián)行的行。例如,不能刪除關(guān)聯(lián)訂單的顧客。 刪除該顧客的唯一方法是首先刪除相關(guān)的訂單(這表示還要?jiǎng)h除相關(guān)的訂單項(xiàng))。由于需要一系列的刪除,因而利用外鍵可以防止意外刪除數(shù)據(jù)。

五、MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)

5.1 數(shù)據(jù)庫(kù)(Database,簡(jiǎn)稱DB)

數(shù)據(jù)庫(kù)就是一個(gè)存放數(shù)據(jù)的倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)是按照一定的數(shù)據(jù)結(jié)構(gòu)(數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)的組織形式或數(shù)據(jù)之間的聯(lián)系)來(lái)組織、存儲(chǔ)的,我們可以通過(guò)數(shù)據(jù)庫(kù)提供的多種方法來(lái)管理數(shù)據(jù)庫(kù)里的數(shù)據(jù)。更簡(jiǎn)單的形象理解,數(shù)據(jù)庫(kù)和我們生活中存放雜物的倉(cāng)庫(kù)性質(zhì)一樣,區(qū)別只是存放的東西不同。

5.2 數(shù)據(jù)表(table)

數(shù)據(jù)表是關(guān)系數(shù)據(jù)庫(kù)中一個(gè)非常重要的對(duì)象,是其它對(duì)象的基礎(chǔ),也是一系列二維數(shù)組的集合,用來(lái)存儲(chǔ)、操作數(shù)據(jù)的邏輯結(jié)構(gòu)。

根據(jù)信息的分類情況,一個(gè)數(shù)據(jù)庫(kù)中可能包含若干個(gè)數(shù)據(jù)表,每張表是由組成,記錄一條數(shù)據(jù),數(shù)據(jù)表就增加一行,每一列是由字段名字段數(shù)據(jù)集合組成,被稱之為字段,每一列還有自己的多個(gè)屬性,例如是否允許為空、默認(rèn)值、長(zhǎng)度、類型、存儲(chǔ)編碼、注釋等。

5.3 數(shù)據(jù)庫(kù)系統(tǒng)有3個(gè)主要的組成部分

1.數(shù)據(jù)庫(kù)(Database System):用于存儲(chǔ)數(shù)據(jù)的地方。
2.數(shù)據(jù)庫(kù)管理系統(tǒng)(Database Management System,DBMS):用戶管理數(shù)據(jù)庫(kù)的軟件。
3.數(shù)據(jù)庫(kù)應(yīng)用程序(Database Application):為了提高數(shù)據(jù)庫(kù)系統(tǒng)的處理能力所使用的管理數(shù)據(jù)庫(kù)的軟件補(bǔ)充。

5.4 視圖

視圖是一種虛擬的表,具有和物理表相同的功能??梢詫?duì)視圖進(jìn)行增,改,查,操作,視圖通常是有一個(gè)表或者多個(gè)表的行或列的子集。對(duì)視圖的修改不影響基本表。它使得我們獲取數(shù)據(jù)更容易,相比多表查詢。

如下兩種場(chǎng)景一般會(huì)使用到視圖:

不希望訪問(wèn)者獲取整個(gè)表的信息,只暴露部分字段給訪問(wèn)者,所以就建一個(gè)虛表,就是視圖。
查詢的數(shù)據(jù)來(lái)源于不同的表,而查詢者希望以統(tǒng)一的方式查詢,這樣也可以建立一個(gè)視圖,把多個(gè)表查詢結(jié)果聯(lián)合起來(lái),查詢者只需要直接從視圖中獲取數(shù)據(jù),不必考慮數(shù)據(jù)來(lái)源于不同表所帶來(lái)的差異。

注意: 這個(gè)視圖是在數(shù)據(jù)庫(kù)中創(chuàng)建的,而不是用代碼創(chuàng)建的。

5.5 存儲(chǔ)過(guò)程(Stored Procedure)

MySQL 5.0 版本開(kāi)始支持存儲(chǔ)過(guò)程。

存儲(chǔ)過(guò)程就是為以后使用而保存的一條或多條 SQL語(yǔ)句??蓪⑵湟暈榕募m然它們的作用不僅限于批處理。存儲(chǔ)過(guò)程是一種在數(shù)據(jù)庫(kù)中存儲(chǔ)復(fù)雜程序,以便外部程序調(diào)用的一種數(shù)據(jù)庫(kù)對(duì)象。存儲(chǔ)過(guò)程思想上很簡(jiǎn)單,就是數(shù)據(jù)庫(kù) SQL 語(yǔ)言層面的代碼封裝與重用。

優(yōu)點(diǎn):

  • 存儲(chǔ)過(guò)程可封裝,并隱藏復(fù)雜的商業(yè)邏輯。
  • 存儲(chǔ)過(guò)程可以回傳值,并可以接受參數(shù)。
  • 存儲(chǔ)過(guò)程無(wú)法使用 SELECT 指令來(lái)運(yùn)行,因?yàn)樗亲映绦?,與查看表,數(shù)據(jù)表或用戶定義函數(shù)不同。
  • 存儲(chǔ)過(guò)程可以用在數(shù)據(jù)檢驗(yàn),強(qiáng)制實(shí)行商業(yè)邏輯等。

缺點(diǎn):

  • 存儲(chǔ)過(guò)程,往往定制化于特定的數(shù)據(jù)庫(kù)上,因?yàn)橹С值木幊陶Z(yǔ)言不同。當(dāng)切換到其他廠商的數(shù)據(jù)庫(kù)系統(tǒng)時(shí),需要重寫原有的存儲(chǔ)過(guò)程。
  • 存儲(chǔ)過(guò)程的性能調(diào)校與撰寫,受限于各種數(shù)據(jù)庫(kù)系統(tǒng)。

精彩專題分享:

mysql不同版本安裝教程

mysql5.7各版本安裝教程

mysql5.6各版本安裝教程

mysql8.0各版本安裝教程

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI