LAMP架構介紹、MYSQL介紹、安裝

科技小能手發表於2017-11-12

LAMP 架構

LAMP 指的Linux(作業系統)、Apache(httpd伺服器)、MySQL(資料庫軟體)和PHP(有時也是指Per或Python)的縮寫,一般用來建立web伺服器(三個角色可以在一臺機器,也可以分開。但是,Apache和PHP要安裝在一起)。

LAMP 架構介紹

  • httpd、PHP、MySQL三者如何工作
    q77B6.png

說明: Apache和PHP是一個整體,因為PHP是以一個模組的形式和Apache結合在一起的。但是Apache不能直接和MySQL直接打交道,它只能通過PHP模組去MySQL中取資料,拿到資料後PHP把資料交給Apache,Apache再把資料交給使用者。伺服器上的圖片、js、css等檔案屬於靜態檔案;資料庫檔案是動態檔案。

MySQL、MariaDB 介紹

MySQL是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在一個大倉庫內,這樣就增加了速度並提高了靈活性。(MySQL是由mysql ab公司開發,在2008年被sun公司收購,2009年sun被Oracle公司收購。)

MariaDB資料庫管理系統是MySQL的一個分支,主要由開源社群在維護。MariaDB直到5.5版本,均依照MySQL的版本。從2012年11月12日起釋出的10.0.0版開始,不再依照MySQL的版號。10.0.x版以5.5版為基礎,加上移植自MySQL5.6版的功能和自行開發的新功能。

MySQL 版本

community 社群版(社群版,免費的);enterprise 企業版(收費的);GA(generally available) 通用版,在生產環境中使用;DMR(development milestone release) 開發里程碑版本;RC(release candidate) 發行候選版本;Beta 開放測試版本;Alpha 內部測試版本。

安裝MySQL

  • MySQL 的幾個常用安裝包:rpm包、原始碼包、二進位制免編譯包

  • 下載包之前需要檢視系統的版本,根據系統版本來選擇需要安裝的包。通過命令uname -a可以檢視到關於系統版本的資訊。(x86_64為64為作業系統,i686 i586為32位作業系統)

  • 下載包

    將二進位制免編譯包下載到/usr/local/src/目錄下。

    [root@localhost ~]# cd /usr/local/src

    [root@localhost src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz

    下載完成之後,在目錄/usr/local/src/下會有一個壓縮包 mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz

  • 解壓包

    在/usr/local/src/目錄下解壓包

    [root@localhost src]# tar -zxv -f mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz

  • 移動解壓後的檔案並修改檔名

    將解壓出來的mysql-5.6.35-linux-glibc2.5-x86_64 檔案移動到/usr/local/目錄下,並改名為mysql。

    [root@localhost src]# mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql

  • 切換到/usr/local/mysql/目錄

    切換到/usr/local/mysql/目錄下之後,檢查目錄下是否下是否存在以下檔案、目錄。

    [root@localhost src]# cd /usr/local/mysql/

    [root@localhost mysql]# ls

    bin COPYING data docs include lib man mysql-test README scripts share sql-bench support-files

  • 建立mysql使用者、建立/data/目錄

    [root@localhost mysql]# useradd mysql

    [root@localhost mysql]# mkdir /data/

  • 初始化mysql

    [root@localhost mysql]# ./scripts/mysql_install_db –user=mysql –datadir=/data/mysql

    FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:

    Data::Dumpe

    Installing MySQL system tables…./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

    缺少libaio.so包

提示缺少perl模組,模組名為dump

  • 使用yum list命令配合grep檢視需要安裝的包

    [root@localhost mysql]# yum list | grep perl | grep -i dumper

    perl-Data-Dumper.x86_64 2.145-3.el7 base 

    perl-Data-Dumper-Concise.noarch 2.020-6.el7 epel 

    perl-Data-Dumper-Names.noarch 0.03-17.el7 epel 

    perl-XML-Dumper.noarch 0.81-17.el7 base

    查詢到相關的包後就挨個安裝。然後再安裝mysql。

注意:如果在安裝過程中出現兩個ok,則安裝成功。或者使用命令echo $? 命令,輸出結果為0則安裝成功。結果為1則安裝失敗。

  • 拷貝配置檔案

    配置檔案的目錄為:/usr/local/mysql/support-files/my-default.cnf

    [root@localhost mysql]# cp support-files/my-default.cnf /etc/my.cnf

mysql的配置檔案固定放在/etc/下,並且名字為my.cnf(如果為其它目錄需要去指定,否則系統只會去找/etc/my.cnf檔案。)

  • 也可以不拷貝配置檔案,直接使用現成的

    在/etc/目錄下有my.cnf檔案,編輯此檔案。

    將下面兩行修改成如下內容:

    datadir=/data/mysql

    socket=/tmp/mysql.sock

    註釋掉這三行:

    log-error=/var/log/mariadb/mariadb.log

    pid-file=/var/run/mariadb/mariadb.pid

    !includedir /etc/my.cnf.d

  • 啟動指令碼

    啟動指令碼目錄為:/usr/local/mysql/support-files/mysql.server

    將啟動指令碼拷貝到/etc/init.d/目錄下,改名為:mysqld

    [root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld

    編輯/etc/init.d/mysqld檔案:

    basedir=/usr/local/mysql

    datadir=/data/mysql

    (46,47行)

    許可權變更:

    將檔案許可權改為755(預設為755,不需要改)

    chomd 755 /etc/init.d/mysqld

    設定開機啟動,將該服務加到系統服務列表中:

    [root@localhost mysql]# chkconfig –add mysqld

    [root@localhost mysql]# chkconfig –list

    注意:該輸出結果只顯示 SysV 服務,並不包含原生 systemd 服務。SysV 配置資料可能被原生 systemd 配置覆蓋。 

    如果您想列出 systemd 服務,請執行 `systemctl list-unit-files`。

    欲檢視對特定 target 啟用的服務請執行

    `systemctl list-dependencies [target]`。

    mysqld 0:關 1:關 2:開 3:開 4:開 5:開 6:關

    還可以直接用命令啟動:

    /etc/init.d/mysqld start

    service mysqld start

    [root@localhost mysql]# service mysqld start

    Starting MySQL.Logging to `/data/mysql/localhost.localdomain.err`.

    . SUCCESS! #啟動成功

    可以使用命令:

    ps aux | grep mysqld 檢視程式

    netstat -lntp 檢視監聽埠

    停止mysqld服務

    service mysqld stop

    命令列的方式啟動(&在後臺啟動):

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

  • 關閉mysqld服務

    使用killall命令關閉服務。

  • kill命令和killall命令

kill命令和killall命令都是用來殺死系統中的程式,區別是:

1、kill用來殺死單個程式,killall用來殺死程式樹

2、使用kill命令會立刻結束正在執行中的程式,如果該程式正在進行磁碟的讀寫,那麼資料會因為程式的結束而丟失,而killall命令會等待該資料讀寫完畢後再將相關程式結束,相對來說使用起來更加安全。

本文轉自 豆渣鍋 51CTO部落格,原文連結:http://blog.51cto.com/754599082/2050796


相關文章