標籤:LAMP 架構
一、LAMP架構介紹
LAMP 是Linux Apache MySQL PHP的簡寫,其實就是把Apache, MySQL以及PHP安裝在Linux系統上,組成一個環境來運行php的指令碼語言。Apache是最常用的WEB服務軟體,而MySQL是比較小型的資料庫軟體,這兩個軟體以及PHP都可以安裝到windows的機器上。
1、Linux+Apache(httpd)+MySQL+PHP
2、三個角色可以在一台機器、也可以分開(httpd和PHP要在一起)
3、httpd、PHP、MySQL三者如何工作
參考文檔:http://blog.csdn.net/zdp072/article/details/50583581
二、MySQL和MariaDB介紹
MySQL/Mariadb介紹
- MySQL是一個關係型資料庫,有mysql ab公司開發,mysql在2008年被sun公司收購(10億刀),2009年sun公司被Oracle公司收購(74億刀)
- MySQL官網https://www.mysql.com 最新版本5.7GA/8.0DMR
- MysSQL5.6變化比較大,5.7效能上有很大提升
- Mariadb為MySQL的一個分支,官網https://mariadb.com 最新版本10.2
- MariaDB主要由SkySQL公司(現更名為MariaDB公司)維護,SkySQL公司由MySQL原作者帶領大部分原班人馬創立
- Mariadb5.5版本對應mysql的5.5 ,10.0對應mysql5.6
- Community 社區版本,Enterprise 企業版,GA(Generally Available)指通用版本,在生產環境中用的,DMR(Development Milestone Release)開發裡程碑發布版,RC(Release Candidate)發行候選版本,Beta開放測試版本,Alpha自我裝載版本
三、MySQL的安裝
我們平時安裝MySQL都是源碼包安裝的,但是由於它的編譯需要很長的時間,所以建議安裝二進位免編譯包。你可以到MySQL官方網站去下載 http://dev.mysql.com/downloads/ 具體版本根據你的平台和需求而定,目前比較常用的為mysql5.6版本。(注意,下面的安裝步驟是基於64位作業系統的,如果你的系統為32位,則需要下載一個32位的包)
uname -a //查看系統版本
1、下載mysql到/usr/local/src/
[[email protected] ~]# cd /usr/local/src[[email protected] src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz^C
2、解壓
[[email protected] src]# tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
3、把解壓完的資料移動到/usr/local/mysql
[[email protected] src]# mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql
4、建立mysql使用者
[[email protected] mysql]# useradd mysql
5、建立/data/目錄,已經存在的話則不建立(用於存放mysql的資料檔案)
[[email protected] mysql]# mkdir /data/
6、初始化mysql
[[email protected] mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
--user 定義資料庫的所屬主, --datadir 定義資料庫安裝到哪裡,建議放到大空間的分區上,這個目錄需要自行建立。
初始化的時候,可能回出現如下問題:
字面意思就是,缺少Perl模組,缺少Dumper的支援,那麼怎麼解決呢?
使用模糊搜尋,過濾關鍵來嘗試解決:
[[email protected] mysql]# yum list | grep perl | grep -i dumper //-i忽略大小寫
搜尋完成後出現以上四個安裝包,無法確定需要哪個安裝包的時候,可以嘗試每個安裝包都試下。
[[email protected] mysql]# yum install -y perl-Data-Dumper.x86_64
安裝好之後,重新初始化mysql:
出現兩個OK,說明安裝成功。
7、拷貝設定檔
[[email protected] mysql]# cp support-files/my-default.cnf /etc/my.cnfcp:是否覆蓋"/etc/my.cnf"? y
8、拷貝啟動指令檔並修改許可權
[[email protected] mysql]# cp support-files/mysql.server /etc/init.d/mysqld[[email protected] mysql]# chmod 755 /etc/init.d/mysqld
然後修改開機檔案:
[[email protected] mysql]# vi /etc/init.d/mysqld
9、把啟動指令碼加入系統服務項,設定開機啟動並啟動mysql
[[email protected] mysql]# chkconfig --add mysqld //把mysqld服務加入到系統服務列表中[[email protected] mysql]# chkconfig mysqld on //開機啟動mysqld[[email protected] mysql]# service mysqld start //啟動mysqldStarting MySQL.Logging to ‘/data/mysql/zlinux.err‘.. SUCCESS!
如果啟動不了,請到 /data/mysql/ 下查看錯誤記錄檔,這個日誌通常是主機名稱.err.。
檢查mysql是否啟動的命令為:
[[email protected] mysql]# ps aux |grep mysqld
查看監聽連接埠:
[[email protected] mysql]# ps aux |grep mysqld
停止mysql:
[[email protected] mysql]# service mysqld stopShutting down MySQL.. SUCCESS!
如果沒有init.d的啟動指令碼啟動可以用命令列的方式啟動:
[[email protected] mysql]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &
以命令列的形式運行,還有什麼其他方法關掉呢?
必須以killall命令殺掉進程,比較安全。
killall 命令會先把程式執行完畢,才殺掉進程。
如果killall等了很久都沒有殺死,說明資料量很大,需要寫到磁碟中完畢後,慢慢殺死;
如果強制殺死,可能導致資料丟失或表的損壞。
LAMP架構和MySQL_MariaDB介紹及MySQL安裝