LAMP架構(一)

一 LAMP 架構介紹

    LAMP是Linux+Apache(httpd)+MySQL+PHP的組合php

    其中Apache指的是提供web服務的一個軟件httpdhtml

    MySQL是數據存儲軟件java

    php是腳本開發語言,主要用於開發網站,常見的php網站有Google、淘寶、百度、51cto博客mysql

    Apache(httpd)+MySQL+PHP三個角色能夠在一臺機器,也能夠分開,可是httpd和PHP要在一塊兒linux

httpd、PHP、MySQL三者工做原理:web

PHP是以一個模塊的形式和apache結合在一塊兒的sql

Apache不能直接和MySQL打交道,必需要經過PHP模塊來通訊,這種行爲叫作動態請求,動態請求用於加載動態的數據數據庫

二 MySQL_MariaDB介紹

sun公司是作java的,JDK就是sun公司開發的apache

oracle公司有oracle數據庫,這種數據庫比較大型,像銀行、金融等大企業都須要用oracle,oracle一般會裝在一個小型機上(安裝的是收費的UNIX操做系統),這種小型機可能有幾百顆cup,幾個T的硬盤;oracle數據庫是收費的服務器

三 MySQL 安裝

一、安裝包

    rpm包就是經過yum安裝,只能安裝在usr下

    二進制免編譯包是將在其餘服務器上編譯配置好了的包拿過來用,相對rpm包優點是能夠任意選擇本身想要安裝的位置;咱們默認就使用這種包

二、安裝二進制免編譯包

    1)切換到安裝路徑下

        # cd /usr/local/src

    2)下載安裝包

       # wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

    3)解壓安裝包

        # tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

    4)修改解壓後的文件夾名字並將文件夾移動位置

        # mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql/

    5)新增用戶

        # useradd mysql

    6)建立存儲數據的目錄

        # mkdir /data/

    7)初始化數據庫

        # ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

        運行上述命令時出現如下錯誤:

    此時須要安裝帶有perl模塊且名字包含dumper的軟件,能夠用grep過濾安裝包名字來搜索

也能夠在搜索網站如百度、谷歌、必應搜索,可使用搜索鏡像網站提供的連接:

https://coderschool.cn/1853.html

安裝好後再來測試初始化是否正確,正確的標準是:出現了兩個OK,或者使用命令# echo $?  若是執行此命令返回的結果是0則說明執行正確

    8)拷貝配置文件模板

 mysql配置文件模板是mysql/support-files/my-default.cnf,默認的配置文件路徑及名稱是/etc/my.cnf 若是使用其餘路徑或名稱須要在啓動時指定

    # vi support-files/my-default.cnf  

    # cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

    上圖中能夠看到系統中已有my.cnf文件,此時也能夠經過修改這個原來的文件實現,修改後的文件內容以下圖

     9)拷貝啓動腳本模板

        將下圖中路徑中的# support-files/mysql.server腳本文件拷貝到mysql指定的啓動目錄下並更名/etc/init.d/mysqld

        # cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

        拷貝後再來修改文件中的部份內容:

            修改MySQL程序目錄爲basedir=/usr/local/mysql

            數據目錄爲datadir=/data/mysql

        修改mysqld文件權限爲755

        10)啓動mysqld腳本的幾種方式

            a.開機啓動

        增長到系統啓動服務列表中去,使mysqld開機啓動# chkconfig --add mysqld

            b.手工啓動mysqld服務

        # service mysqld start 或 # /etc/init.d/mysqld start

啓動成功會提示SUCCESS!

查看mysqld腳本啓動成功後的進程# ps aux |grep mysql 以下圖:

查看mysqld啓動成功後的端口狀態# netstat -lntp

    從上圖能夠看到數據庫的端口3306已經成功開啓

            c.命令行啓動--適用於沒有啓動腳本模板或者啓動腳本打不開的狀況

                使用命令行的方式啓動mysqld服務

                # /usr/local/mysql/bin/mysqld_safe   --defaults-file=/etc/my.cnf  --user=mysql  --datadir= /data/mysql  &    //命令中的defaults-file是設置默認配置文件的啓動位置和名稱,datadir是能夠在my.cnf中定義的,&將進程調到後臺執行

        關閉mysqld服務的方式也能夠是:# killall mysqld

    注意:# kill pid號   //使用這種方式殺死進程時有可能形成數據丟失,因進程在不停地讀寫數據,當某些寫入的數據還停留在內存中,還沒有來得及保存到磁盤中時,這時候將這個進程殺死就意味着內存中的這些數據丟失了;使用killall的話會先中止進程的讀寫操做,而後將內存中的待寫入的數據寫入到磁盤中,最後才殺死進程,從這種狀況出發,若是未來遇到使用killall 殺死mysqld的進程始終殺不死,等了1分鐘仍是殺不死,ps還會有進程,那說明進程數據量很大,它正在慢慢地寫入到磁盤中,這時候不要強制地用kill -9去殺死進程,這樣的話很是有可能丟數據或者損害表,這種狀況就只能等待,尤爲是數據有幾百個G或者引擎用的是innodb的引擎(mysql有兩個經常使用的引擎innodb 和myisam,其中myisam比較小存儲量和存儲空間都比較小)

 

 

推薦連接:

mysql5.5源碼編譯安裝 http://www.aminglinux.com/bbs/thread-1059-1-1.html

mysql5.7二進制包安裝(變化較大) http://www.apelearn.com/bbs/thread-10105-1-1.html

相關文章
相關標籤/搜索