- 01-MySQL知識體系介紹
- 02-數(shù)據(jù)庫基礎(chǔ)概念
- 03-數(shù)據(jù)庫相關(guān)術(shù)語
- 04-MySQL介紹及下載
- 05-MySQL8.0安裝
- 06-MySQL服務(wù)介紹以及卸載
- 07-DBMS工具介紹和使用
- 08-MySQL邏輯結(jié)構(gòu)
- 09-SQL語言介紹及基本語法
- 10-SQL語言操作數(shù)據(jù)庫
- 11-SQL語言操作數(shù)據(jù)表1
- 12-SQL語言操作數(shù)據(jù)表2
- 13-SQL語言數(shù)據(jù)類型
- 14-SQL語言字段約束介紹
- 15-SQL語言字段約束唯一約束-主鍵約束
- 16-SQL語言字段約束聯(lián)合主鍵
- 17-SQL語言表數(shù)據(jù)插入
- 18-SQL語言表數(shù)據(jù)刪除
- 19-SQL語言表數(shù)據(jù)修改
- 20-SQL語言基礎(chǔ)查詢
- 21-SQL語言模糊查詢-控制查詢顯示結(jié)果
- 22-SQL語言查詢結(jié)果排序
- 23-SQL語言聚合函數(shù)
- 24-SQL語言日期-字符串函數(shù)
- 25-SQL語言分組查詢
- 26-SQL語言分頁查詢
- 27-SQL語言關(guān)聯(lián)關(guān)系一對一
- 28-SQL語言關(guān)聯(lián)關(guān)系多對一多對多
- 29-SQL語言外鍵約束
- 30-SQL語言外鍵級聯(lián)操作
- 31-SQL語言連接查詢-內(nèi)連接
- 32-SQL語言連接查詢-左右連接
- 33-SQL語言數(shù)據(jù)庫別名
- 34-SQL語言子查詢
- 35-儲存過程介紹
- 36-儲存過程創(chuàng)建調(diào)用
- 37-儲存過程中變量的使用
- 38-儲存過程中的參數(shù)
- 39-儲存過程中的分支語句if
- 40-儲存過程中的分支語句case
- 41-儲存過程中的循環(huán)語句
- 42-儲存過程管理
- 43-儲存過程游標(biāo)
- 44-觸發(fā)器基本使用
- 45-觸發(fā)器進(jìn)階及總結(jié)
- 46-視圖概念講解
- 47-視圖具體應(yīng)用
- 48-索引介紹
- 49-索引使用
- 50-數(shù)據(jù)庫事務(wù)介紹
- 51-數(shù)據(jù)MySQL事務(wù)管理
- 52-事務(wù)隔離級別
- 53-數(shù)據(jù)庫設(shè)計介紹
- 54-數(shù)據(jù)庫設(shè)計三范式
- 55-ER圖繪制
- 56-存儲引擎介紹
- 57-常見存儲引擎講解
- 58-SQL優(yōu)化-插入優(yōu)化
- 59-SQL優(yōu)化-排序優(yōu)化
- 60-MySQL鎖簡介
- 61-MySQL全局鎖
- 62-MySQL表級鎖
- 63-MySQL元數(shù)據(jù)鎖
- 64-MySQL意向鎖介紹
- 65-MySQL意向鎖具體使用
- 66-MySQL行級鎖介紹
- 67-MySQL行級講解
- 68-MySQL間歇鎖與臨鍵鎖
- 69-MySQL鎖總結(jié)
- 70-MySQL錯誤日志
- 71-MySQL二進(jìn)制日志
- 72-MySQL主從復(fù)制介紹
- 73-MySQL主從復(fù)制搭建
- 74-MySQL主從復(fù)制測試
本套課程為傳智播客mysql高清視頻教程,全套課程有41講,是mysql入門的優(yōu)質(zhì)教材,隨著mysql不斷發(fā)展,現(xiàn)在使用mysql+php做網(wǎng)站已成為主流,如果你想學(xué)習(xí)動態(tài)網(wǎng)頁設(shè)計,那么建議你選擇php+mysql,這套課程將是學(xué)習(xí)mysql的基礎(chǔ)課程,大學(xué)資源網(wǎng)收集整理。
一、MySQL介紹
MySQL是一個精巧的SQL數(shù)據(jù)庫管理系統(tǒng),雖然它不是開放源代碼的產(chǎn)品,但在某些情況下你可以自由使用。由于它的強(qiáng)大功能、靈活性、豐富的應(yīng)用編程接口(API)以及精巧的系統(tǒng)結(jié)構(gòu),受到了廣大自由軟件愛好者甚至是商業(yè)軟件用戶的青睞,特別是與Apache和PHP/PERL結(jié)合,為建立基于數(shù)據(jù)庫的動態(tài)網(wǎng)站提供了強(qiáng)大動力。
二、MySQL的特點與作用
MySQL是一個真正的多用戶、多線程SQL數(shù)據(jù)庫服務(wù)器。SQL(結(jié)構(gòu)化查詢語言)是世界上最流行的和標(biāo)準(zhǔn)化的數(shù)據(jù)庫語言。MySQL是以一個客戶機(jī)/服務(wù)器結(jié)構(gòu)的實現(xiàn),它由一個服務(wù)器守護(hù)程序mysqld和很多不同的客戶程序和庫組成。
SQL是一種標(biāo)準(zhǔn)化的語言,它使得存儲、更新和存取信息更容易。例如,你能用SQL語言為一個網(wǎng)站檢索產(chǎn)品信息及存儲顧客信息,同時MySQL也足夠快和靈活以允許你存儲記錄文件和圖像。
MySQL 主要目標(biāo)是快速、健壯和易用。最初是因為我們需要這樣一個SQL服務(wù)器,它能處理與任何可不昂貴硬件平臺上提供數(shù)據(jù)庫的廠家在一個數(shù)量級上的大型數(shù)據(jù)庫,但速度更快,MySQL就開發(fā)出來。自1996年以來,我們一直都在使用MySQL,其環(huán)境有超過 40 個數(shù)據(jù)庫,包含 10,000個表,其中500多個表超過7百萬行,這大約有100 個吉字節(jié)(GB)的關(guān)鍵應(yīng)用數(shù)據(jù)。
MySQL數(shù)據(jù)庫的主要功能只在組織和管理很龐大或復(fù)雜的信息和基于WEB的庫存查詢請求不僅僅為客戶提供信息,而且還可以為您自己使用數(shù)據(jù)庫可以提供如下功能:
一)減少記錄編檔的時間
二)減小記錄檢索時間
三)靈活的查找序列
四)靈活的輸出格式
五)多個用戶同時訪問記錄
三、MySQL的技術(shù)路線與發(fā)展
在運(yùn)行數(shù)據(jù)庫系統(tǒng)時,MySQL的使用相當(dāng)簡單,且進(jìn)行MySQL安裝和使用所需的工作也很少。然而,不論您是什么級別的專家,MySQL的安裝程序都不能自動運(yùn)行。MySQL數(shù)據(jù)庫系統(tǒng)由幾部分組成。
MySQL服務(wù)器
服務(wù)器mysql執(zhí)行數(shù)據(jù)庫和表的所有操作。safe_mysqld 是一個相關(guān)的程序,它用于啟動服務(wù)器、監(jiān)控服務(wù)器和重新啟動服務(wù)器。
MySQL客戶機(jī)和實用程序。有幾個MySQL程序,可用來幫助您與服務(wù)器進(jìn)行通信和執(zhí)行管理的任務(wù)。其中最重要的幾個是: mysql,一個交互式程序,允許將SQL 語句發(fā)布到服務(wù)器上并瀏覽其結(jié)果。mysqladmin,一個管理程序,允許執(zhí)行諸如關(guān)閉服務(wù)器以及創(chuàng)建或刪除數(shù)據(jù)庫的工作。如果服務(wù)器運(yùn)行不正常,還可以用mysqladmin 來檢查服務(wù)器的狀態(tài)。isamchk 和myisamchk,這些實用程序幫助您完成表的分析和優(yōu)化,以及在表損壞時進(jìn)行崩潰恢復(fù)。mysqldump,一個工具,用于備份數(shù)據(jù)庫或?qū)?shù)據(jù)庫拷貝到另一個服務(wù)器中。服務(wù)器的語言,SQL。有些管理職責(zé)只能用mysqladmin 的命令行實用程序來完成,但是,如果您還能用服務(wù)器自己的語言來同服務(wù)器進(jìn)行對話,那就更好了。作為簡單的例子,您可能需要查找用戶特權(quán)不按您所希望的方式進(jìn)行工作的原因。沒有任何替代品能夠參與并與服務(wù)器直接通信。可通過使用mysql客戶機(jī)程序發(fā)布能夠檢驗授權(quán)表的SQL 查詢來做到這一點。如果您的MySQL版本還未引入GRANT 語句,則需要使用mysql首先設(shè)置每個用戶的權(quán)限。
MySQL數(shù)據(jù)目錄
數(shù)據(jù)目錄是服務(wù)器存儲其數(shù)據(jù)庫和狀態(tài)文件的所在。了解數(shù)據(jù)目錄的結(jié)構(gòu)及內(nèi)容是很重要的,您可以知道服務(wù)器是怎樣使用文件系統(tǒng)來表現(xiàn)數(shù)據(jù)庫和表的,以及像日志這樣的文件的存放位置和其內(nèi)容。還應(yīng)該了解在文件系統(tǒng)中管理磁盤空間分配的選項,當(dāng)發(fā)現(xiàn)放置數(shù)據(jù)目錄的文件系統(tǒng)過滿時可以進(jìn)行調(diào)整。
MySQL服務(wù)器
MySQL的服務(wù)器能夠從命令行中手工啟動和終止服務(wù)器,并且在系統(tǒng)啟動和關(guān)閉時知道怎樣進(jìn)行自動啟動和關(guān)閉。如果服務(wù)器崩潰了或啟動不正常的話,了解怎樣使服務(wù)器再次運(yùn)行也是重要的。
安全性
當(dāng)運(yùn)行MySQL安裝程序時,確保用戶所存儲的數(shù)據(jù)的安全性是很重要的。MySQL管理員有責(zé)任控制對數(shù)據(jù)目錄和服務(wù)器的訪問,并應(yīng)了解以下的問題:文件系統(tǒng)的安全性。UNIX 機(jī)器可能會使幾個用戶賬號成為宿主賬號,而這些賬號都沒有與MySQL相關(guān)的管理職責(zé)。確保這些賬號沒有對數(shù)據(jù)目錄的訪問是重要的。因為這樣可以防止它們通過拷貝數(shù)據(jù)庫表或移動數(shù)據(jù)庫表,或者通過能夠讀取包含敏感信息的日志文件來損壞文件系統(tǒng)級的數(shù)據(jù)。您應(yīng)該知道如何建立MySQL服務(wù)器的UNIX用戶賬號,如何建立該用戶所擁有的數(shù)據(jù)目錄,以及如何啟動服務(wù)器以便利用該用戶的權(quán)限運(yùn)行。服務(wù)器的安全性。必須了解MySQL的安全系統(tǒng)是怎樣進(jìn)行工作的,以便在建立用戶賬號時授予適當(dāng)?shù)臋?quán)限。通過網(wǎng)絡(luò)連接到服務(wù)器的用戶只允許做他們應(yīng)該做的事情。您不要由于對安全系統(tǒng)的錯誤理解,將超級用戶的訪問權(quán)授予匿名用戶。
數(shù)據(jù)庫修復(fù)和維護(hù)
所有的MySQL管理員都希望避免處理破壞的或毀壞的數(shù)據(jù)庫表。但是愿望不能代替現(xiàn)實。以下幾個步驟可以使您在問題發(fā)生時減少風(fēng)險并學(xué)會怎樣處理問題:崩潰恢復(fù)。如果盡管您做了最好的努力但災(zāi)難還是降臨了,則應(yīng)該知道如何修復(fù)或恢復(fù)表。很少會用到崩潰恢復(fù),但當(dāng)使用它時,它是一個令人討厭的、高強(qiáng)度的工作(尤其是當(dāng)您正在忙亂地修正某些內(nèi)容時,電話鈴響了或有人敲門)。然而,您必須知道怎樣處理它,否則用戶將會很不高興。要熟悉isamchk 和myisamchk 的表的檢查以及修復(fù)能力;要知道如何盡可能地從備份文件中恢復(fù),并且知道怎樣使用該更新日志來恢復(fù)備份之后所產(chǎn)生的修改。預(yù)防性維護(hù)。預(yù)防性維護(hù)的常規(guī)程序應(yīng)適當(dāng)?shù)剡M(jìn)行安置,以使數(shù)據(jù)庫破壞和毀壞的可能性最小化。當(dāng)然,您還要進(jìn)行備份,但是,預(yù)防性維護(hù)將減少使用這些備份的機(jī)會。
綜上所述,MySQL由于性能高、成本低、可靠性好,已經(jīng)成為最流行的開源數(shù)據(jù)庫,被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。隨著MySQL的不斷成熟,它也逐漸用于更多大規(guī)模網(wǎng)站和應(yīng)用。
