標籤:Linux
LAMP架構介紹
LAMP是一個簡寫,包含了4個東西:linux、apache(httpd)、mysql、php
linux作業系統、apache提供wb服務的軟體、mysql儲存資料的軟體、php指令碼語言
LAMP的工作原理
瀏覽器向伺服器發送http請求,伺服器 (Apache) 接受請求,由於php作為Apache的組件模組也會一起啟動,它們具有相同的生命週期。Apache會將一些靜態資源儲存,然後去調用php處理模組進行php指令碼的處理。指令碼處理完後,Apache將處理完的資訊通過http response的方式發送給瀏覽器,瀏覽器解析,渲染等一系列操作後呈現整個網頁。
php和mysql之間是動態請求(如使用者的登入操作就會用到)
而如果只是查看圖片就是靜態請求,不會用到php和mysql動態請求。(mysql不能存圖片等檔案)
MySQL、MariaDB介紹
MySQL是一個關係型資料庫,由mysql ab公司開發,mysql在2008年被sun公司收購(10億刀),2009年sun公司被oracle公司收購(74億刀)
MySQL官網https://www.mysql.com 最新版本5.7GA/8.0DMR
MySQL5.6變化比較大,5.7效能上有很大提升
Mariadb為MySQL的一個分支,官網https://mariadb.com 最新版本10.2
MariaDB主要由SkySQL公司(現更名為MariaDB公司)維護,SkySQL公司由MySQL原作者帶領大部分原班人馬創立.
Mariadb5.5版本對應MySQL的5.5,10.0對應MySQL5.6
Community 社區版本,Enterprise 企業版,GA(Generally Available)指通用版本,在生產環境中用的,DMR(Development Milestone Release)開發裡程碑發布版,RC(Release Candidate)發行候選版本,Beta開放測試版本,Alpha自我裝載版本
mysql安裝
MySQL的幾個常用安裝包:rpm、源碼、二進位免編譯(免編譯比較方便,不用配置,可以指定路徑。)
因為二進位免編譯比較方便,也足夠正常使用,所以我們就使用二進位棉編譯
為了方便日後管理,我們統一把安裝包下載到/usr/local/src這個目錄下來
cd /usr/local/src
下載安裝包,下載的版本為5.6 x86_64
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
解壓下載的包
tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
移動解壓完的目錄並更改名字為mysql(容易出現的錯誤,local下已經存在mysql檔案,如果這樣移動,會變成移動到mysql下,這樣就會報錯,mv前提前進入local看下是否已存在mysql檔案夾)
mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql
進入mysql目錄下可以查看下mysql下有哪些檔案
cd /usr/local/mysqlls
建立一個data目錄,可以看到data目錄已經存在,那麼就不需要執行命令建立目錄
mkdir data
建立一個mysql使用者(名為mysql)
useradd mysql
安裝mysql,進行初始化,指定使用者為mysql,指定資料存放地址/data/mysql
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
這裡它提示少了一個perl模組,所以我們需要安裝它。如果不知道包名就需要模糊搜尋一下,首先這個檔案是perl模組的,所以一定包含perl,還包含dumper(不確定大小寫就加-i)
yum list |grep perl |grep -i dumper
如搜出4個,如果不知道是哪一個就全裝上,這裡我們知道是第一個包。
安裝所依賴的包
yum install -y perl-Data-Dumper.x86_64
然後再使用如下命令初始化一下(有時會報錯data的父目錄不存在,這時在/data/前面加上絕對路徑即可)
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
拷貝mysql的模板設定檔,mysql的設定檔存放在/etc/下,並且名字固定為my.cnf,如果不想存放在這個目錄下,那麼啟動的時候需要指定設定檔(該目錄下已存在一個my.cnf檔案,我們選擇y覆蓋)
cp support-files/my-default.cnf /etc/my.cnf
拷貝啟動的指令碼
cp support-files/mysql.server /etc/init.d/mysqld
編輯啟動指令碼
vi /etc/init.d/mysqld
找到basedir和datadir將內容更改如下:
basedir=/usr/local/mysql
datadir=/usr/locat/mysql/data/mysql
更改啟動指令碼的設定檔為755
chmod 755 /etc/init.d/mysqld
將mysqld加入開啟啟動
chkconfig --add mysqld
啟動mysql
1.使用命令啟動mysql
service mysqld start
- 使用指令碼啟動
/etc/init.d/mysqld start
停止mysql
service mysqld stop
以命令列的方式啟動指令碼,--defaults-file指定設定檔,指定使用者,指定目錄,最後加上&符號,放到後台執行
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &
以命令列的方式啟動的mysql指令碼不能直接stop,可以使用killall停止服務
使用killall會停止當前的寫讀操作,再將沒有寫入到磁碟中的資料寫到磁碟裡面去,寫完之後再將進程殺死。
如果遇到mysql的進程殺不死,可能說明資料量比較大,在慢慢寫入磁碟,這時候不要使用kill -9強制殺死進程,可能會損壞資料。
`killall mysqld``
LAMP架構介紹、MySQL、MariaDB介紹、MySQL安裝