1. 程式人生 > 實用技巧 >5月23日

5月23日

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原始碼包:

wgethttp://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 或servicemysqldstart

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:指定配置檔案所在的路徑。

示例如下:

[[email protected] mysql]# service mysqld stop //停止mysql服務 Shutting down MySQL.. SUCCESS! [[email protected] mysql]# ps aux |grep mysql //檢視程序停止 root 82900.00.0112664968pts/0S+ 21:380:00grep --color=auto mysql [[email protected] mysql]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql & //執行命令啟動服務,這裡按ctrl+z把命令放到後臺執行 [1] 8472 [[email protected] mysql]# 171214 21:42:10 mysqld_safe Logging to '/data/mysql/gary.err'. 17121421:42:10mysqld_safe Starting mysqld daemon with databases from /data/mysql [[email protected] mysql]# ps aux |grep mysql //程序啟動 root 84720.00.11132561584pts/0S 21:420:00/bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql mysql 85950.345.6973048456372pts/0Sl 21:420: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 86200.00.0112664968pts/0S+ 21:460:00grep --color=auto mysql [[email protected] mysql]# yum install psmisc //安裝killall命令 [[email protected] mysql]# killall mysqld //終止以命令方式啟動的mysql服務 [[email protected] mysql]# ps aux |grep mysql //檢視程序已結束 root 86420.00.0112664972pts/0R+ 21:540:00grep --color=auto mysql

13。精簡安裝步驟:

blob.png



轉載於:https://blog.51cto.com/404006045/2119660