11.1 LAMP架構介紹
一、LAMP架構介紹
?
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之間是動態請求。
?
?
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位)
?
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?
?
3.解壓下載的包命令:tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz?
?
4.將目錄移動到/usr/local/下并改名為mysql:?
命令:mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
?
5.進入到這個目錄下:cd /usr/local/mysql, 再創建mysql的用戶和data目錄用來存放mysql數據:?
useradd mysql?
mkdir /data/?
?
6.然后運行命令初始化mysql腳本:(初始化指定用戶mysql和路徑)?
./scripts/mysql_install_db?--user=mysql --datadir=/data/mysql
?
?運行這個命令如果提示報錯,則要去另外再安裝對應的包或模塊,如果不知道對應的名或模塊名,可以使用迷糊查找安裝方法(命令中的i指的是忽略大小寫):?
yum list |grep perl |grep -i dumper?
?
解決辦法:
(執行后可能會出現這種情況,是因為缺少了一個模塊,需要我們安裝:
????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
?
執行命令echo $?查看是否為0,為0說明執行成功
?
7.初始化完成后再去拷貝配置文件
配置文件在support-files里:
?
將配置文件模板my-default.cnf復制到/etc下命令:?
cp support-files/my-default.cnf /etc/my.cnf??
?
8..將啟動腳本mysql.server拷貝到/etc/init.d/mysqld下
?cp support-files/mysql.server /etc/init.d/mysqld
?
9. 再編輯啟動腳本mysqld?,定義basedir和datadir:?
vi /etc/init.d/mysqld?
basedir=/usr/local/mysql?
datadir=/data/mysql
?
9.1賦予權限755(默認是755)命令查看權限: ll /etc/init.d/mysqld
?
?
10.開機啟動mysql,把它加入到系統服務列表里面
chkconfig --add mysqld
?
11.手動啟動mysql服務命令:?/etc/init.d/mysqld start 或?service?mysqld?start?
?
11,1 查看服務是否啟動成功可以查看一下進程和監聽的端口
查看進程 :ps aux |grep mysql
?
監聽端口:netstat -lntp ?????//監聽3306端口
?
?
12。假設實驗(另外一種方法(命令行)來啟動mysql):
如果沒有啟動腳本可以放在/etc/init.d下,那么可以用命令的方式來打開mysql(PS:命令模式打開的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。精簡安裝步驟:
?
?
轉載于:https://blog.51cto.com/404006045/2119660