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