11.1 LAMP架構介紹


一、LAMP架構介紹

blob.png?

LAMP是Linux+Apache(httpd)+MySQL+PHP的簡寫,即把Apache、MySQL以及PHP安裝在linux系統上,組成一個運行環境來運行PHP腳本語言,通常是網站。比如Google、淘寶、百度、51cto博客、猿課論壇等就是用PHP語言寫出來的。

?httpd、PHP、MySQL三個角色可以在一臺機器、也可以分開,但httpd和PHP要安裝在一臺機器上,這也是PHP作為Apache的一個模塊存在的,它們兩必須在一起。

?httpd、PHP、MySQL三者如何工作:

PHP是以模塊的形式和Apache結合在一起的?

Apache不能直接跟Mysql打交道,只能通過PHP模塊去Mysql拿數據,再交給Apache再交給用戶。PHP與Mysql之間是動態請求。

blob.png?

?

11.2 MySQL、MariaDB介紹


一、MySQL、MariaDB介紹

1、MySQL是一個關系型數據庫,由mysql ab公司開發,mysql在2008年被sun公司收購(10億刀),2009年sun公司被oracle公司收購(74億刀)

2、MySQL官網https://www.mysql.com?最新版本5.7GA/8.0DMR

3、MySQL5.6變化比較大,5.7性能上有很大提升

4、Mariadb為MySQL的一個分支,官網https://mariadb.com/最新版本10.2

5、MariaDB主要由SkySQL公司(現更名為MariaDB公司)維護,SkySQL公司由MySQL原作者帶領大部分原班人馬創立.

6、Mariadb5.5版本對應MySQL的5.5,10.0對應MySQL5.6

7、Community 社區版本,Enterprise 企業版,GA(Generally Available)指通用版本,在生產環境中用的,DMR(Development Milestone Release)開發里程碑發布版,RC(Release Candidate)發行候選版本,Beta開放測試版本,Alpha內部測試版本

?

11.3-11.4-11.5 MySQL安裝


MySQL安裝

????MySQL的幾個常用安裝包:rpm包、源碼包、二進制免編譯包

?

1.查看linux系統是多少位,命令:uname -a ???x86_64對應64位,i686 i586對應32位)

blob.png?

2.根據位數下載對應的mysql源碼包,安裝包放到指定目錄下cd /usr/local/src,

使用wget命令下載mysql源碼包:?

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

blob.png?

3.解壓下載的包命令:tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz?

blob.png?

4.將目錄移動到/usr/local/下并改名為mysql:?

命令:mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql

blob.png?

5.進入到這個目錄下:cd /usr/local/mysql, 再創建mysql的用戶和data目錄用來存放mysql數據?

useradd mysql?

mkdir /data/?

blob.png?

6.然后運行命令初始化mysql腳本:(初始化指定用戶mysql和路徑?

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

blob.png?

?運行這個命令如果提示報錯,則要去另外再安裝對應的包或模塊,如果不知道對應的名或模塊名,可以使用迷糊查找安裝方法(命令中的i指的是忽略大小寫):?

yum list |grep perl |grep -i dumper?

blob.png?

解決辦法:

(執行后可能會出現這種情況,是因為缺少了一個模塊,需要我們安裝:

????yum install -y perl-Data-Dumper?

執行完命令后可馬上執行命echo $?查看是否為0,為0說明執行成功。

還有報錯可能還缺少的包:(如果不知道是什么引起的報錯可以把下面的包都安裝了)

yum install -y libaio

yum install -y numactl

yum -y install libaio-devel

yum -y install openssl-devel

yum -y install perl perl-devel

裝完了后再運行初始化命令即可:

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

blob.png?

執行命echo $?查看是否為0,為0說明執行成功

blob.png?

7.初始化完成后再去拷貝配置文件

配置文件在support-files里:

blob.png?

將配置文件模板my-default.cnf復制到/etc下命令:?

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

blob.png?

8..將啟動腳本mysql.server拷貝到/etc/init.d/mysqld下

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

blob.png?

9. 再編輯啟動腳本mysqld?定義basedir和datadir:?

vi /etc/init.d/mysqld?

basedir=/usr/local/mysql?

datadir=/data/mysql

blob.png?

9.1賦予權限755(默認是755)命令查看權限: ll /etc/init.d/mysqld

blob.png?

?

10.開機啟動mysql,把它加入到系統服務列表里面

chkconfig --add mysqld

blob.png?

11.手動啟動mysql服務命令:?/etc/init.d/mysqld start 或?service?mysqld?start?

blob.png?

11,1 查看服務是否啟動成功可以查看一下進程和監聽的端口

查看進程 ps aux |grep mysql

blob.png?

監聽端口:netstat -lntp ?????//監聽3306端口

blob.png?

?

12。假設實驗(另外一種方法(命令行)來啟動mysql):

如果沒有啟動腳本可以放在/etc/init.d下,那么可以用命令的方式來打開mysqlPS:命令模式打開的mysql要關閉需要用kill命令:killall mysqld,也可以用 kill PID號,但是建議用killall,就如mysql如果用killall,它會先停止當前的讀寫操作,再把沒有完成寫入磁盤的數據慢慢寫進去,直到寫完之后才會把進程殺死。如果遇到mysqld進程殺不死,等了一分鐘還殺不死,說明數據量很大,慢慢等,不要強制使用kill -9 。)

啟動mysql命令

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

–defaults-file:指定配置文件所在的路徑。

示例如下:

[root@gary mysql]# service mysqld stop ?//停止mysql服務 Shutting down MySQL.. SUCCESS! ?[root@gary mysql]# ps aux |grep mysql ??//查看進程停止 root ??????8290??0.0??0.0?112664???968?pts/0????S+ ??21:38???0:00?grep --color=auto mysql [root@gary mysql]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql & ??//執行命令啟動服務,這里按ctrl+z把命令放到后臺執行 [1] 8472 [root@gary mysql]# 171214 21:42:10 mysqld_safe Logging to '/data/mysql/gary.err'. 171214?21:42:10?mysqld_safe Starting mysqld daemon with databases from /data/mysql [root@gary mysql]# ps aux |grep mysql ?//進程啟動 root ??????8472??0.0??0.1?113256??1584?pts/0????S ???21:42???0:00?/bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql mysql ?????8595??0.3?45.6?973048?456372?pts/0???Sl ??21:42???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/gary.err --pid-file=/data/mysql/gary.pid --socket=/tmp/mysql.sock root ??????8620??0.0??0.0?112664???968?pts/0????S+ ??21:46???0:00?grep --color=auto mysql [root@gary mysql]# yum install psmisc ?//安裝killall命令 [root@gary mysql]# killall mysqld ???//終止以命令方式啟動的mysql服務 [root@gary mysql]# ps aux |grep mysql ?//查看進程已結束 root ??????8642??0.0??0.0?112664???972?pts/0????R+ ??21:54???0:00?grep --color=auto mysql

?

13。精簡安裝步驟:

blob.png?

?