4.12 11.1-11.5聽課筆記
LAMP=linux+Apache(即httpd,提供web服務的軟件)+mysql(存儲數據(字符串)+PHP(腳本語言,用C開發,與shell類似,但比shell高級,常用於做網站))
在實際安裝到服務器時,apache必須和PHP在一臺服務器,mysql可以單獨運行在一臺服務器上
Apache無法直接與mysql交互,它需要一個PHP模塊來提供幫助
動態請求:用戶登錄認證,用戶發送用戶名密碼給apache,apache通過PHP從mysql中查詢相應的用戶名密碼並進行比對,正確則返回狀態為登錄,否則未登錄
靜態請求:用戶向服務器請求靜態文件(如圖片)而不是通過mysql請求,
Mysql用於存儲
11.2 mysql_mariaDB
Mysql最新版本為5.7GA和8.0DMR
Mysql被oracle收購後,Mysql創始人帶領大量原班人馬創立了skysql公司,並開發出了mysql的一個分支,mariaDB
MariaDB5.5版本與mysql5.5版本對應,但從5.5以後,mariaDB直接跨越到10.0版本,而mysql繼續為5.6版本
版本劃分:
Community 社區版(開源、免費)
Enterprise 企業版(收費,有部分高級功能)
GA 通用版(本身經過眾多使用者檢驗的較穩定版本,生產環境中常用)
DMR 開發裏程碑發布版(相較於之前的版本有重大的更改)
RC 發行候選版(已經較穩定,隨時可以被發布)
Alpha 內部測試版(在開發團隊內部開放使用)
Beta 開放測試版(在內測已經較穩定後開放給普通用戶使用並測試的版本)
11.3 mysql安裝(上)
幾種常用的安裝包:rpm、源碼包、二進制免編譯
二進制免編譯:將源碼包在一臺linux服務器上編譯完成,然後將編譯完成的文件放到某個目錄下打包、壓縮再發布出去;
用戶不需要花時間編譯,類似rpm包,但rpm包用戶無法定義安裝路徑(默認裝在usr目錄下);
要追求使用性能則最好用源碼包在自己的機器上編譯
11.4 mysql安裝(中)
下載安裝包到某個目錄:
解壓:
將解壓出的目錄移動位置並改名:
檢查移動後的目錄:
添加用戶用於mysql:
運行scripts,指定用戶為mysql,指定mysql數據庫目錄存放數據位置:
*被創建目錄的上一級目錄必須存在
*執行過程中可能由於缺少某些包或腳本導致安裝不成功
解決辦法:
1.模糊查詢可能的包或腳本:
2.在瀏覽器輸入報錯信息尋找解決辦法
www.baidu.com www.bing.com www.google.com
檢查安裝是否正確:
1. 查看上一步執行完的結果中是否有兩個ok
2. 執行echo $0,為0則剛剛執行的一步無誤
拷貝配置文件(將模板配置文件拷貝到/etc/下並改名為my.cnf):
*默認mysql配置文件位置固定(etc下),名稱固定(my.cnf)
*系統可能本來就存在/etc/my.cnf配置文件目錄(可能是先前的某個包或某個依賴包安裝產生),此時可以不拷貝配置文件,但需要修改部分配置:
1 更改datadir位置
2 修改socket到對應位置
3 log-error、pid-file等參數可以註釋掉(不使用)
4 所有不使用的部分均可被註釋掉
11.5 mysql安裝(下)
拷貝啟動腳本:
*centos6下自定義啟動腳本:
1 將啟動腳本放到/etc/init.d目錄下
2 修改其中的部分內容
Basedir:指定對應程序的程序目錄
Datadir:數據目錄
啟動腳本文件權限變更:
將啟動腳本加入系統服務列表(開機啟動):
Or 手動啟動mysql:
查看進程:
查看監聽的端口:
*無法將啟動腳本放到/etc/init.d目錄下或沒有啟動腳本:
解決辦法:
命令行啟動:
*此時可以指定配置文件路徑、用戶、數據目錄
停止mysql:
1 服務形式啟動(開機啟動/手動啟動)
2 命令行啟動
*killall殺死mysql進程時系統會等待mysql讀寫完成再徹底停止mysql服務,這樣不會造成數據丟失(如果使用killall後進程一直沒有停下來則可能是數據過多導致系統需要花更多的時間去讀寫內存中的數據,此時最好耐心等待服務關閉,不可強制殺死進程)
Mysql常用引擎:innodb(容量較大)、myisam(容量較小)
4.12 11.1-11.5聽課筆記