1. 程式人生 > >0507第十七次課:LAMP

0507第十七次課:LAMP

LAMP(上)

一、LAMP架構介紹

  • 什麼是LAMP

    LAMP就是Linux+Apache(httpd)+MySQL+PHP ,簡稱LAMP。

    Linux:作業系統,如centos、redhat、Ubuntu。

    Apache:也叫httpd,web服務軟體

    Mysql:關係型資料庫

    PHP:指令碼語言,由 C語言 開發,通常用於做網站

    三個角色可以在一臺機器上,也可以分開,但是apache要和php在一起。

  • httpd、PHP、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、原始碼、二進位制免編譯。如果沒有特殊要求一般使用進位制免編譯安裝

  • 原始碼安裝:

  1. 下載mysql5.6安裝包

    cd /usr/local/src

    wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz

  2. 解壓安裝包

    tar -xzvf mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz

    mv mysql-5.6.42-linux-glibc2.12-x86_64 /usr/local/mysq

    cd /usr/local/mysql

  3. 新增使用者

    useradd mysql

  4. 建立資料目錄

    mkdir /data/

  5. 初始化庫

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

    這一步可能缺包,如果報錯請按提示安裝以下依賴包:

    yum install perl-Data-Dumper.x86_64

    yum install libaio

    初始化完成提示:

  6. 生成並修改配置檔案

    cp support-files/my-default.cnf /etc/my.cnf

    修改內容:

    basedir=/usr/local/mysql

    datadir=/data/mysql

    socket=/tmp/mysql.sock

    symbolic-links=0

  7. mysql啟動

    生成啟動指令碼,並修改

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

    vi /etc/init.d/mysqld

    修改內容:

    basedir=/usr/local/mysql

    datadir=/data/mysql

    啟動mysql:

    /etc/init.d/mysqld start 或者:service mysqld start

    設定開機啟動:

    chkconfig --add mysqld

    ln -s /usr/local/mysql/bin/mysql /usr/bin

    使用mysql命令啟動:

    /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql/ &

    –defaults-file=/etc/my.cnf :指配置檔案

    –user=mysql : 指定使用者

    –datadir=/data/mysql/ :指定資料儲存位置`

  8. mysql常用的兩種引擎

    nnodbnnodb引擎,比較大

    myisam引擎儲存空間、儲存量都比較小

  9. kill和killall區別

    mysql資料讀寫非常快,有可能有些資料還沒從記憶體中存到磁碟中,這時候kill掉會導致資料丟失甚至表損壞。而使用kiallall命令,則會先停止當前的讀寫操作,然後把等記憶體資料寫到磁碟中後才把程序殺死。

四、Mariadb

  • mariadb安裝方式基本和mysql類似
  1. 下載安裝包

    由於外網下載地址無法下載,這裡使用清華源進行下載

    wget https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.2.23/bintar-linux-glibc_214-x86_64/mariadb-10.2.23-linux-glibc_214-x86_64.tar.gz

  2. 解壓安裝包

    tar -xzvf mariadb-10.2.23-linux-glibc_214-x86_64.tar.gz

    mv mariadb-10.2.23-linux-glibc_214-x86_64 /usr/local/mariadb

    cd /usr/local/mariadb/

  3. 修改配置檔案

    由於已經安裝mysql,所以複製s配置檔案到 /usr/local/mariadb/目錄下

    cp support-files/my-small.cnf /usr/local/mariadb/my.cnf

    vim /usr/local/mariadb/my.cnf

    修改內容:

    datadir = /data/mariadb

  4. mariadb啟動

    設定啟動指令碼

    cp support-files/mysql.server /etc/init.d/mariadb

    修改內容:

    basedir=/usr/local/mariadb

    datadir=/data/mariadb

    新增以下內容:

    conf=/usr/local/mariadb/my.cnf

    在$bindir/mysqld_safe這一行新增以下內容:

    --defaults-file="$conf"

  5. 初始化指令碼

    ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb/ --datadir=/data/mariadb

  6. 啟動

service