數(shù)據(jù)庫(kù)的存儲(chǔ)引擎是數(shù)據(jù)庫(kù)的底層軟件組件,數(shù)據(jù)庫(kù)管理系統(tǒng)使用數(shù)據(jù)庫(kù)引擎進(jìn)行增刪查改的操作。mysql的核心就是數(shù)據(jù)庫(kù)引擎。
mysql5.7支持的存儲(chǔ)引擎有innoDB MyISAM Memory 可以通過(guò)show engines。
InnoDB存儲(chǔ)引擎:
1.InnoDB給mysql提供了具有提交,回滾,崩潰恢復(fù)的功能的事務(wù)能力的安全存儲(chǔ)引擎
2.對(duì)處理巨大數(shù)據(jù)量的數(shù)據(jù)有良好的性能
3.InnoDB存儲(chǔ)引擎支持外鍵的完整性約束
4.InnoDB被用在眾多高性能大型數(shù)據(jù)庫(kù)站點(diǎn)上
MyISAM存儲(chǔ)引擎:
1.MyISAM擁有較高的查詢,插入數(shù)據(jù)的速率,但不支持事務(wù)。
Memory存儲(chǔ)引擎:
- Memory存儲(chǔ)引擎將數(shù)據(jù)存儲(chǔ)在內(nèi)存中,為查詢和引用其他表數(shù)據(jù)提供快速訪問(wèn)。
- 使用Memory的出發(fā)點(diǎn)是處理速度快,為了得到最快的響應(yīng)時(shí)間,采用的邏輯存儲(chǔ)介質(zhì)是內(nèi)存,所以當(dāng)mysql守護(hù)進(jìn)程崩潰時(shí),所有的memory存儲(chǔ)的數(shù)據(jù)都會(huì)丟失。
關(guān)于存儲(chǔ)引擎的選擇:
InnoDB:提供提交,回滾,崩潰恢復(fù)的事務(wù)安全能力,可以實(shí)現(xiàn)并發(fā)控制
MyISAM:數(shù)據(jù)表主要用來(lái)插入查詢,提高速率。
Memory:臨時(shí)存放數(shù)據(jù),且數(shù)據(jù)量不大,并不需要較高的數(shù)據(jù)安全性。
存儲(chǔ)引擎的設(shè)置:
需要注意的是客戶端設(shè)置的存儲(chǔ)引擎并不會(huì)作用于整個(gè)服務(wù)器,要作用整個(gè)服務(wù)器的話則需要更改配置文件。
2.在配置文件中設(shè)置存儲(chǔ)引擎:
mysql數(shù)據(jù)庫(kù)用戶管理:
mysql用戶管理內(nèi)容:
1.權(quán)限表 2.賬戶管理 3.權(quán)限管理
1.權(quán)限表:
各個(gè)權(quán)限表的作用:
2.新建普通用戶:
注意:如果普通用戶不想創(chuàng)建密碼,則identified后面全部省略即可,如果想創(chuàng)建hash密碼如下:
grant語(yǔ)句創(chuàng)建用戶:
刪除普通用戶:
3.權(quán)限管理:
給用戶授予權(quán)限:
當(dāng)我們通過(guò)create創(chuàng)建普通用戶時(shí),該用戶只具有登陸退出的權(quán)限:
我們通過(guò)grant語(yǔ)句賦予該用戶查詢更新的權(quán)限:
測(cè)試如下:刪除reader表失敗,因?yàn)槲覀儾⑽促x予它有刪除數(shù)據(jù)的權(quán)限
查看用戶的授權(quán)信息:
一共有兩條記錄,***條是通過(guò)create創(chuàng)建的用戶,只有登陸權(quán)限。第二條是后來(lái)我們通過(guò)grant語(yǔ)句為該用戶賦予權(quán)限。
撤銷用戶權(quán)限:
數(shù)據(jù)庫(kù)日志管理:
mysql的數(shù)據(jù)庫(kù)日志記錄了數(shù)據(jù)庫(kù)的運(yùn)行情況,用戶操作,錯(cuò)誤信息等,可以為mysql的管理和優(yōu)化提供必要信息
1.錯(cuò)誤日志:
查看錯(cuò)誤日志:
日志如下:
2.刪除錯(cuò)誤日志:
數(shù)據(jù)庫(kù)的備份與恢復(fù):
數(shù)據(jù)表的導(dǎo)入和導(dǎo)出:
數(shù)據(jù)的導(dǎo)出:
數(shù)據(jù)的導(dǎo)入:
當(dāng)cmd默認(rèn)路徑被改變時(shí),這是輸入相關(guān)的mysql命令無(wú)效,我們這時(shí)候就需要將cmd默認(rèn)路徑改回來(lái)。
打開(kāi)注冊(cè)表找到如下位置:HKEY_CURRENT_USERSoftwareMicrosoftCommand Processor
我們只需要新建一個(gè)字符串值,命名格式未autorun 值時(shí)cmd的路徑(cd /d C:WindowsSystem32)