LAMP架構介紹

11月9日任務
11.1 LAMP架構介紹
11.2 MySQL、MariaDB介紹
11.3/11.4/11.5 MySQL安裝php

 

LAMP介紹

LAMP:Linux + Apache(httpd) + MySQL + PHPmysql

  • Apache:搭建網絡服務器
  • MySQL:存儲數據
  • PHP:網頁,數據交互

對於搭建一個簡單的LAMP架構,能夠將上述的3中軟件安裝再同一個Linux內;對於大的LAMP架構,必須保證Apache和PHP在同一個服務器上,MySQL安裝在另外的服務器,經過網絡來進行數據的交互。linux

Web平常請求

  1. 用戶在瀏覽器輸入網址,點擊登陸,將請求發送給Apache
  2. Apache判斷是否爲動態請求,再根據請求不一樣返回不一樣的網頁信息:
    • 動態:用戶名密碼登陸;經過apache的php模塊來訪問MySQL數據庫對比後,返回網址;
    • 靜態:普通網頁請求,不須要與MySQL數據庫進行對比

MySQL_MariaDB介紹

MySQL是一個關係型數據庫,由mysql ab公司開發,並於2008年被sun公司收購;2009年sun公司被oracle公司收購。c++

MySQL官網:https://www.mysql.comsql

最新版本5.7GA/8.0DMR數據庫

MySQL5.6變化比較大,5.7性能上有很大提高apache

Mariadb是MySQL的一個分支,官網https://mariadb.com/ 最新版本10.2瀏覽器

MariaDB主要由SkySQL公司(現改名爲MariaDB公司)維護,該公司爲MySQL原班人馬建立。服務器

MariaDB5.5對於MySQL5.5,10.0對應MySQL5.6網絡

關於軟件版本

  • Community 社區版
  • Enterprise 企業版
  • GA(Generally Available) 通用版本
  • DMR(Develoment Milestone Release) 開發里程碑發佈版
  • RC(Release Candidate) 發行候選版本
  • Beta 開發測試版本
  • Alpha 內部測試版本

MySQL安裝

可使用rpm、源碼、二進制免編譯的方式來安裝MySQL。

推薦使用二進制免編譯安裝包,解壓後初始化便可使用。

[root@localhost src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
--... 10:44:16--  http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
正在解析主機 mirrors.sohu.com (mirrors.sohu.com)... 221.236.12.140
正在鏈接 mirrors.sohu.com (mirrors.sohu.com)|221.236.12.140|:80... 已鏈接。
已發出 HTTP 請求,正在等待迴應... 200 OK
長度:316320366 (302M) [application/octet-stream]
正在保存至: 「mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz」

100%[================================>] 316,320,366  417KB/s 用時 5m 47s 

... 10:50:03 (891 KB/s) - 已保存 「mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz」 [316320366/316320366])

安裝步驟

  1. 解壓下載的二進制已編譯軟件包
[root@localhost src]# tar zxf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz 
[root@localhost src]# ll
總用量 308912
drwxr-xr-x. 13 root root       191 11月 11 10:54 mysql-5.6.36-linux-glibc2.5-x86_64
  1. 移動目錄至/usr/local/下
[root@localhost src]# mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql
[root@localhost src]# cd /usr/local/mysql/
  1. 建立用戶mysql
[root@localhost mysql]# useradd mysql
  1. 建立數據存放目錄
[root@localhost mysql]# mkdir /data
  1. 初始化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::Dumper

# 查詢缺乏的軟件包並安裝
[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     
[root@localhost mysql]# yum install -y perl-Data-Dumper

# 從新初始化
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

# 判斷是否成功初始化
[root@localhost mysql]# echo $?
0
  1. 拷貝/修改配置文件
# 原/etc/目錄下存在my.cnf文件,直接覆蓋
[root@localhost mysql]# cp support-files/my-default.cnf /etc/my.cnf
cp:是否覆蓋"/etc/my.cnf"? y
# 修改配置文件內basedir和datadir參數
[root@localhost mysql]# vi /etc/my.cnf
修改[mysqld]內的2行便可
 basedir = /usr/local/mysql
 datadir = /data/mysql
保存退出
  1. 配置mysql開機啓動
# 拷貝啓動腳本至開機啓動目錄/etc/init.d/,並重命名爲mysqld
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld

# 修改mysqld配置文件,
[root@localhost mysql]# vi /etc/init.d/mysqld 
一樣要修改一下參數
basedir=/usr/local/mysql
datadir=/data/mysql

# 修改權限並使用chkconfig設置開機啓動
[root@localhost mysql]# chmod 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:關
netconsole     	0:關	1:關	2:關	3:關	4:關	5:關	6:關
network        	0:關	1:關	2:開	3:開	4:開	5:開	6:關

啓動/關閉mysql服務

  1. 服務方式
[root@localhost mysql]# service mysqld start
Starting MySQL.Logging to '/data/mysql/localhost.localdomain.err'.
.. SUCCESS! 

[root@localhost mysql]# ps aux | grep mysqld
root       2856  0.0  0.1 113264  1616 pts/0    S    13:52   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/localhost.localdomain.pid
mysql      2990  8.5 45.0 1308984 450220 pts/0  Sl   13:52   0:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/localhost.localdomain.err --pid-file=/data/mysql/localhost.localdomain.pid
root       3019  0.0  0.0 112676   972 pts/0    R+   13:53   0:00 grep --color=auto mysqld

# 關閉mysqld
[root@localhost mysql]# service mysqld stop
或
[root@localhost mysql]# /etc/init.d/mysqld stop
  1. 命令行方式
[root@localhost mysql]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql & 
[1] 3067
[root@localhost mysql]# 171111 14:02:06 mysqld_safe Logging to '/data/mysql/localhost.localdomain.err'.
171111 14:02:06 mysqld_safe Starting mysqld daemon with databases from /data/mysql

[root@localhost mysql]# !ps
ps aux | grep mysqld
root       3067  0.1  0.1 113268  1600 pts/0    S    14:02   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql
mysql      3189  6.8 44.9 1300788 449528 pts/0  Sl   14:02   0:00 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/localhost.localdomain.err --pid-file=/data/mysql/localhost.localdomain.pid
root       3212  0.0  0.0 112676   976 pts/0    S+   14:02   0:00 grep --color=auto mysqld

[root@localhost mysql]# killall mysqld

也能夠經過kill命令關閉mysql主進程來關閉
[root@localhost mysql]# kill 3189

killall命令安裝:yum install -y psmisc

kill與killall的區別

也可以使用kill命令來關閉mysql進程,可是會形成當前讀寫的部分數據丟失;

killall命令則會中止後續的讀寫操做,並將以前未寫入磁盤的數據保存到磁盤後,而後殺死進程。

關閉mysql進程時要注意的事項

在使用killall關閉mysql時會有時短期關閉不了,不要緊,由於數據過多須要時間,等待便可,千萬不要使用kill -9強制殺死,會形成數據的丟失!

安裝過程可能缺乏的軟件包

編譯安裝前提

yum install -y gcc gcc-c++

安裝mysql

yum install -y perl-Data-Dumper libaio-devel
相關文章
相關標籤/搜索