mysql安裝及配置

1、數(shù)據(jù)庫簡介:

計算機誕生后,數(shù)據(jù)開始在計算機中存儲并計算,并設(shè)計出了數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)解決的問題:持久化存儲,優(yōu)化讀寫,保證數(shù)據(jù)的有效性。
當(dāng)前使用的數(shù)據(jù)庫,主要分為兩類:
⑴文檔型,如sqlite,就是一個文件,通過對文件的復(fù)制完成數(shù)據(jù)庫的復(fù)制。
⑵服務(wù)型,如mysql、oracle、postgre,數(shù)據(jù)存儲在一個物理文件中,但是需要使用終端以tcp/ip協(xié)議連接,進行數(shù)據(jù)庫的讀寫操作。

2、E-R模型

當(dāng)前物理的數(shù)據(jù)庫都是按照E-R模型進行設(shè)計的。
E表示entity,實體
R表示relationship,關(guān)系
一個實體轉(zhuǎn)換為數(shù)據(jù)庫中的一個表。
關(guān)系描述兩個實體之間的對應(yīng)規(guī)則,包括一對一,一對多,多對多。
關(guān)系轉(zhuǎn)換為數(shù)據(jù)庫表中的一個列在關(guān)系型數(shù)據(jù)庫中一行就是一個對象。

3、三范式

經(jīng)過研究和對使用中問題的總結(jié),對于設(shè)計數(shù)據(jù)庫提出了一些規(guī)范,這些規(guī)范被稱為范式。在一定程度上,為了提高訪問性能,可以允許一定的冗余。
設(shè)計關(guān)系數(shù)據(jù)庫時,遵從不同的規(guī)范要求,設(shè)計出合理的關(guān)系型數(shù)據(jù)庫,這些不同的規(guī)范要求被稱為不同的范式,各種范式呈遞次規(guī)范,越高的范式數(shù)據(jù)庫冗余越小。

目前關(guān)系數(shù)據(jù)庫有六種范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又稱完美范式)。滿足最低要求的范式是第一范式(1NF)。在第一范式的基礎(chǔ)上進一步滿足更多規(guī)范要求的稱為第二范式(2NF),其余范式以次類推。一般說來,數(shù)據(jù)庫只需滿足第三范式(3NF)就行了。

第一范式(1NF)

所謂第一范式(1NF)是指在關(guān)系模型中,對域添加的一個規(guī)范要求,所有的域都應(yīng)該是原子性的,即數(shù)據(jù)庫表的每一列都是不可分割的原子數(shù)據(jù)項,而不能是集合,數(shù)組,記錄等非原子數(shù)據(jù)項。
簡而言之,第一范式就是無重復(fù)的域。

第二范式(2NF)

在1NF的基礎(chǔ)上,非碼屬性必須完全依賴于候選碼(在1NF基礎(chǔ)上消除非主屬性對主碼的部分函數(shù)依賴)
第二范式(2NF)是在第一范式(1NF)的基礎(chǔ)上建立起來的,即滿足第二范式(2NF)必須先滿足第一范式(1NF)。第二范式(2NF)要求數(shù)據(jù)庫表中的每個實例或記錄必須可以被唯一地區(qū)分。選取一個能區(qū)分每個實體的屬性或?qū)傩越M,作為實體的唯一標(biāo)識。
簡而言之,第二范式就是在第一范式的基礎(chǔ)上屬性完全依賴于主鍵。

第三范式(3NF)

在1NF基礎(chǔ)上,任何非主屬性不依賴于其它非主屬性(在2NF基礎(chǔ)上消除傳遞依賴)
第三范式(3NF)是第二范式(2NF)的一個子集,即滿足第三范式(3NF)必須滿足第二范式(2NF)。簡而言之,第三范式(3NF)要求一個關(guān)系中不包含已在其它關(guān)系已包含的非主關(guān)鍵字信息。
簡而言之,第三范式就是屬性不依賴于其它非主屬性,也就是在滿足2NF的基礎(chǔ)上,任何非主屬性不得傳遞依賴于主屬性。
說明:后一個范式,都是在前一個范式的基礎(chǔ)上建立的.

4、在linux中安裝mysql

安裝MySQL服務(wù)端和客戶端,在終端中運行,然后按照提示輸入

sudo apt-get install mysql-server mysql-client

啟動

service mysql start

停止

service mysql stop

重啟

service mysql restart

查詢服務(wù)是否啟動

netstat -tap | grep mysql

允許遠程連接,將bind-address=127.0.0.1注釋

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

登錄mysql,運行命令

grant all privileges on *.* to 'root'@'%' identified by '密碼' with grant option;

(記得輸入自己的密碼,.:第一個代表數(shù)據(jù)庫名;第二個代表表名。
這里的意思是所有數(shù)據(jù)庫里的所有表都授權(quán)給用戶。
root:授予root賬號?!?”:表示授權(quán)的用戶IP可以指定,這里代表任意的IP地址都能訪問MySQL數(shù)據(jù)庫。
“password”:分配賬號對應(yīng)的密碼,這里密碼自己替換成你的mysql root帳號密碼。)

刷新權(quán)限信息,也即是讓我們所作的設(shè)置馬上生效。

flush privileges

重啟mysql

service mysql restart

5、mysql卸載管理

刪除mysql的數(shù)據(jù)文件

sudo rm /var/lib/mysql/ -R

刪除mqsql的配置文件

sudo rm /etc/mysql/ -R

自動卸載mysql的程序

sudo apt-get autoremove mysql* --purge
sudo apt-get remove apparmor

6、腳本命令操作

sql語句分為兩大類:
⑴dml:對表的數(shù)據(jù)內(nèi)容進行增刪改查
⑵ddl:除了dml之外

mysql -hip -uname -ppassword
mysql -uroot -p

回車后輸入密碼

image.png

退出登錄

quit或exit
image.png

查看版本

select version();

顯示當(dāng)前時間

select now();

7、遠程連接

一般在公司開發(fā)中,可能會將數(shù)據(jù)庫統(tǒng)一搭建在一臺服務(wù)器上,所有開發(fā)人員共用一個數(shù)據(jù)庫,而不是在自己的電腦中配置一個數(shù)據(jù)庫。
運行命令:

mysql -hip地址 -uroot -p

-h后面寫要連接的主機ip地址
-u后面寫連接的用戶名
-p回車后寫密碼

8、圖形窗口操作

⒈使用圖形窗口連接mysql
windows下的navicat點擊“連接”彈出窗口,按照提示填寫連接信息,如下圖:

image.png

⑴連接成功后,會在連接名稱下面顯示出當(dāng)前的數(shù)據(jù)庫
⑵雙擊選中數(shù)據(jù)庫,就可以編輯此數(shù)據(jù)庫
⑶下次再進入此軟件時,通過雙擊完成連接、編輯操作

⒉數(shù)據(jù)庫操作
在連接的名稱上右擊,選擇“新建數(shù)據(jù)庫”,彈出窗口,并按提示填寫。

image.png

在數(shù)據(jù)庫上右擊,選擇“刪除數(shù)據(jù)庫”可以完成刪除操作

⒊表操作
1)當(dāng)數(shù)據(jù)庫顯示為高亮?xí)r,表示當(dāng)前操作此數(shù)據(jù)庫,可以在數(shù)據(jù)中創(chuàng)建表。
2)一個實體對應(yīng)一張表,用于存儲特定結(jié)構(gòu)的數(shù)據(jù)。
3)點擊“新建表”,彈出窗口,按提示填寫信息。

image.png

1)主鍵的名稱一般為id,設(shè)置為int型,無符號數(shù),自動增長,非空
2)自動增長表示由mysql系統(tǒng)負責(zé)維護這個字段的值,不需要手動維護,所以不用關(guān)心這個字段的具體值
3)字符串varchar類型需要設(shè)置長度,即最多包含多少個字符
4)點擊“添加欄位”,可以添加一個新的字段
5)點擊“保存”,為表定義名稱

4、數(shù)據(jù)操作
表創(chuàng)建成功后,可以在右側(cè)看到,雙擊表打開新窗口,如下圖

image.png

在此窗口中可以增加、修改、刪除數(shù)據(jù)

5、邏輯刪除
1)對于重要數(shù)據(jù),并不希望物理刪除,一旦刪除,數(shù)據(jù)無法找回。
2)一般對于重要數(shù)據(jù),會設(shè)置一個isDelete的列,類型為bit,表示邏輯刪除。
3)大于大量增長的非重要數(shù)據(jù),可以進行物理刪除。
4)數(shù)據(jù)的重要性,要根據(jù)實際開發(fā)決定。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容