linux的LAMP架構(gòu)介紹及mysql安裝

LAMP架構(gòu)介紹

LAMP是Linux+Apache(httpd)+MySQL+PHP的簡(jiǎn)寫,即把Apache、MySQL以及PHP安裝在linux系統(tǒng)上,組成一個(gè)運(yùn)行環(huán)境來(lái)運(yùn)行PHP腳本語(yǔ)言,通常是網(wǎng)站。比如Google、淘寶、百度、51cto博客、猿課論壇等就是用PHP語(yǔ)言寫出來(lái)的。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、網(wǎng)絡(luò)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、梅里斯網(wǎng)站維護(hù)、網(wǎng)站推廣。

  1. httpd、PHP、MySQL三個(gè)角色可以在一臺(tái)機(jī)器、也可以分開(kāi),但httpd和PHP要安裝在一臺(tái)機(jī)器上,這也是PHP作為Apache的一個(gè)模塊存在的,它們兩必須在一起。

  2. httpd、PHP、MySQL三者如何工作:
    PHP是以模塊的形式和Apache結(jié)合在一起的。
    Apache不能直接跟Mysql打交道,只能通過(guò)PHP模塊去Mysql拿數(shù)據(jù),再交給Apache再交給用戶。PHP與Mysql之間是動(dòng)態(tài)請(qǐng)求。

linux的LAMP架構(gòu)介紹及mysql安裝


MySQL、MariaDB介紹

MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù),由mysql ab公司開(kāi)發(fā),mysql在2008年被sun公司收購(gòu)(10億刀),2009年sun公司被oracle公司收購(gòu)(74億刀)

  • MySQL官網(wǎng)https://www.mysql.com 最新版本5.7GA/8.0DMR;

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

  • Mariadb為MySQL的一個(gè)分支,官網(wǎng)https://mariadb.com/最新版本10.2;

  • MariaDB主要由SkySQL公司(現(xiàn)更名為MariaDB公司)維護(hù),SkySQL公司由MySQL原作者帶領(lǐng)大部分原班人馬創(chuàng)立;

  • Mariadb5.5版本對(duì)應(yīng)MySQL的5.5,10.0對(duì)應(yīng)MySQL5.6;

  • Community 社區(qū)版本,Enterprise 企業(yè)版,GA(Generally Available)指通用版本,在生產(chǎn)環(huán)境中用的,DMR(Development Milestone Release)開(kāi)發(fā)里程碑發(fā)布版,RC(Release Candidate)發(fā)行候選版本,Beta開(kāi)放測(cè)試版本,Alpha內(nèi)部測(cè)試版本;

MySQL安裝

MySQL安裝
  • MySQL的幾個(gè)常用安裝包:rpm包、源碼包、二進(jìn)制免編譯包
  1. 查看linux系統(tǒng)是多少位:
[root@gary ~]# uname -a
Linux gary 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

2.下載mysql源碼包,把安裝包放到指定目錄下:

[root@gary ~]# cd /usr/local/src
[root@gary src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
--2017-12-14 19:17:14--  http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
正在解析主機(jī) mirrors.sohu.com (mirrors.sohu.com)... 221.236.12.140
正在連接 mirrors.sohu.com (mirrors.sohu.com)|221.236.12.140|:80... 已連接。
已發(fā)出 HTTP 請(qǐng)求,正在等待回應(yīng)... 200 OK
長(zhǎng)度:314581668 (300M) [application/octet-stream]
正在保存至: “mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz”

100%[===============================================================================>] 314,581,668 1.40MB/s 用時(shí) 3m 34s 

2017-12-14 19:20:49 (1.40 MB/s) - 已保存 “mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz” [314581668/314581668])

3.將壓縮包解壓:

[root@gary src]# tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz

4.把目錄移動(dòng)到/usr/local/下并改名為mysql:

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

5.進(jìn)入目錄查看:

[root@gary src]# cd /usr/local/mysql
[root@gary mysql]# ls
bin  COPYING  data  docs  include  lib  man  mysql-test  README  scripts  share  sql-bench  support-files

6.創(chuàng)建mysql用戶,創(chuàng)建目錄/data/,用來(lái)存放mysql數(shù)據(jù):

[root@gary mysql]# useradd mysql
[root@gary mysql]# mkdir /data/

7.初始化指定用戶mysql和路徑:

[root@gary-tao 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@gary mysql]# yum list |grep perl |grep -i dumper
perl-Data-Dumper.x86_64                     2.145-3.el7                base     
perl-XML-Dumper.noarch                      0.81-17.el7                base     
[root@gary mysql]# yum install -y perl-Data-Dumper
[root@gary-tao mysql]# echo $?  //檢驗(yàn)上一次命令是否成功,需要馬上測(cè)驗(yàn)
0
[root@gary-tao mysql]# ./scripts/mysql_install_db –user=mysql –datadir=/data/mysql    //報(bào)錯(cuò)解決后再執(zhí)行

解決辦法:

(執(zhí)行后可能會(huì)出現(xiàn)這種情況,是因?yàn)槿鄙倭艘粋€(gè)模塊,需要我們安裝:yum install -y perl-Data-Dumper)
執(zhí)行完命令后可馬上執(zhí)行命令echo $?查看是否為0,為0說(shuō)明執(zhí)行成功。

可能缺少的包:
yum install -y libaio
yum install -y numactl
yum -y install libaio-devel
yum -y install openssl-devel
yum -y install perl perl-devel

安裝centos 6.5 可以看下下面這篇文章:
http://www.cnblogs.com/bookwed/p/5896619.html

  1. 拷貝配置文件,有兩種方法:

方法一:

  • 拷貝配置文件到etc目錄下 cp support-files/my-default.cnf /etc/my.cnf

方法二:

  • 更改自帶的vim /etc/my.cnf文件,更改成如下配置:

linux的LAMP架構(gòu)介紹及mysql安裝

9.復(fù)制啟動(dòng)腳本到/etc/init.d目錄下并改名mysqld:

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

10.編輯啟動(dòng)腳本:

[root@gary-tao mysql]# vi /etc/init.d/mysqld

定義basedir和datadir
basedir=/usr/local/mysql
datadir=/data/mysql

linux的LAMP架構(gòu)介紹及mysql安裝

11.啟動(dòng)mysql:

  • 看下默認(rèn)權(quán)限是不是755,把服務(wù)加入開(kāi)機(jī)啟動(dòng)。
root@gary-tao mysql]# ls -l /etc/init.d/mysqld  //默認(rèn)權(quán)限
-rwxr-xr-x 1 root root 10902 12月 14 20:57 /etc/init.d/mysqld
[root@gary-tao mysql]# chkconfig --add mysqld //添加開(kāi)機(jī)啟動(dòng)
[root@gary-tao mysql]# chkconfig --list   //查看已添加開(kāi)機(jī)

注意:該輸出結(jié)果只顯示 SysV 服務(wù),并不包含原生 systemd 服務(wù)。SysV 配置數(shù)據(jù)可能被原生 systemd 配置覆蓋。 
      如果您想列出 systemd 服務(wù),請(qǐng)執(zhí)行 'systemctl list-unit-files'。
      欲查看對(duì)特定 target 啟用的服務(wù)請(qǐng)執(zhí)行
      'systemctl list-dependencies [target]'。

mysqld          0:關(guān) 1:關(guān) 2:開(kāi) 3:開(kāi) 4:開(kāi) 5:開(kāi) 6:關(guān)
netconsole      0:關(guān) 1:關(guān) 2:關(guān) 3:關(guān) 4:關(guān) 5:關(guān) 6:關(guān)
network         0:關(guān) 1:關(guān) 2:開(kāi) 3:開(kāi) 4:開(kāi) 5:開(kāi) 6:關(guān)
  • 手動(dòng)啟動(dòng)mysql服務(wù)命令
[root@gary mysql]# /etc/init.d/mysqld start 或者 service mysqld start 
[root@gary mysql]# service mysqld start   //服務(wù)啟動(dòng)成功
Starting MySQL.Logging to '/data/mysql/gary.err'.
..... SUCCESS! 
[root@gary mysql]# ps aux |grep mysql  //查看進(jìn)程
root       8081  0.0  0.1  11760  1588 pts/0    S    21:23   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/gary.pid
mysql      8216  0.9 44.9 973048 449520 pts/0   Sl   21:23   0:05 /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/gary.err --pid-file=/data/mysql/gary.pid --socket=/tmpmysql.sock
root       8258  0.0  0.0 112664   972 pts/0    S+   21:32   0:00 grep --color=auto mysql
[root@gary mysql]# netstat -lntp  //查看監(jiān)聽(tīng)端口3306
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      827/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1102/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      8216/mysqld         
tcp6       0      0 :::22                   :::*                    LISTEN      827/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1102/master       

假設(shè):

如果沒(méi)有啟動(dòng)腳本可以放在/etc/init.d下,那么可以用命令的方式來(lái)打開(kāi)mysql(PS:命令模式打開(kāi)的mysql要關(guān)閉需要用kill命令:killall mysqld,也可以用 kill PID號(hào),但是建議用killall,就如mysql如果用killall,它會(huì)先停止當(dāng)前的讀寫操作,再把沒(méi)有完成寫入磁盤的數(shù)據(jù)慢慢寫進(jìn)去,直到寫完之后才會(huì)把進(jìn)程殺死。如果遇到mysqld進(jìn)程殺不死,等了一分鐘還殺不死,說(shuō)明數(shù)據(jù)量很大,慢慢等,不要強(qiáng)制使用kill -9 。)

命令:

/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服務(wù)
Shutting down MySQL.. SUCCESS! 
[root@gary mysql]# ps aux |grep mysql   //查看進(jìn)程停止
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 &   //執(zhí)行命令啟動(dòng)服務(wù),這里按ctrl+z把命令放到后臺(tái)執(zhí)行
[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  //進(jìn)程啟動(dòng)
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    //終止以命令方式啟動(dòng)的mysql服務(wù)
[root@gary mysql]# ps aux |grep mysql  //查看進(jìn)程已結(jié)束
root       8642  0.0  0.0 112664   972 pts/0    R+   21:54   0:00 grep --color=auto mysql

當(dāng)前名稱:linux的LAMP架構(gòu)介紹及mysql安裝
網(wǎng)頁(yè)鏈接:http://muchs.cn/article2/gjscoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、面包屑導(dǎo)航做網(wǎng)站、服務(wù)器托管、用戶體驗(yàn)、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)