1. 程式人生 > >LAMP架構介紹、MySQL、MariaDB介紹、MySQL安裝

LAMP架構介紹、MySQL、MariaDB介紹、MySQL安裝

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/mysql
ls

技術分享圖片

創建一個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

技術分享圖片

  1. 使用腳本啟動
    /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安裝