5月23日
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介紹
1、MySQL是一個關係型資料庫,由mysql ab公司開發,mysql在2008年被sun公司收購(10億刀),2009年sun公司被oracle公司收購(74億刀)
2、MySQL官網https://www.mysql.com最新版本5.7GA/8.0DMR
4、Mariadb為MySQL的一個分支,官網https://mariadb.com/最新版本10.2
5、MariaDB主要由SkySQL公司(現更名為MariaDB公司)維護,SkySQL公司由MySQL原作者帶領大部分原班人馬創立.
7、Community 社群版本,Enterprise 企業版,GA(Generally Available)指通用版本,在生產環境中用的,DMR(Development Milestone Release)開發里程碑釋出版,RC(Release Candidate)發行候選版本,Beta開放測試版本,Alpha內部測試版本
11.3-11.4-11.5 MySQL安裝
MySQL的幾個常用安裝包:rpm包、原始碼包、二進位制免編譯包
1.檢視linux系統是多少位,命令:uname -a (x86_64對應64位,i686 i586對應32位)
2.根據位數下載對應的mysql原始碼包,安裝包放到指定目錄下cd /usr/local/src,
wgethttp://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資料:
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 -y install perl perl-devel
./scripts/mysql_install_db--user=mysql--datadir=/data/mysql
將配置檔案模板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:
9.1賦予許可權755(預設是755)命令檢視許可權: ll /etc/init.d/mysqld
11.手動啟動mysql服務命令:/etc/init.d/mysqld start 或servicemysqldstart
如果沒有啟動指令碼可以放在/etc/init.d下,那麼可以用命令的方式來開啟mysql(PS:命令模式開啟的mysql要關閉需要用kill命令:killall mysqld,也可以用 kill PID號,但是建議用killall,就如mysql如果用killall,它會先停止當前的讀寫操作,再把沒有完成寫入磁碟的資料慢慢寫進去,直到寫完之後才會把程序殺死。如果遇到mysqld程序殺不死,等了一分鐘還殺不死,說明資料量很大,慢慢等,不要強制使用kill -9 。)
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &
[[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
轉載於:https://blog.51cto.com/404006045/2119660