lamp mysql

一 lamp架構介紹

lamp 是linux apache mysql php 的縮寫,就是整個一套服務端環境,對於php開發的網站,我們訪問到的頁面或者數據很可能就是這套環境提供的。對於普通網民來說,我們沒有註意我們訪問到的網站內容,其實是分兩大類的,一類是圖片為代表的靜態數據,一類是存儲在數據庫中的動態數據,比如我們登陸博客的用戶名密碼等。我們根據下圖分解下各部分原理,linux當然是指我們的linux操作系統centos,ubuntu等。apache我們都知道他是一個基金會的名字,其實質是一個叫httpd的web server。mysql是數據庫,用來存儲動態數據,真正和他打交道的是一個叫php的應用。在lamp架構中,他作為httpd的一個模塊存在。用戶請求的靜態文件直接存儲在服務器上,動態數據存儲在數據庫中,通過php調用後傳遞給web,數據庫可以單獨裝在其他服務器上,通過網絡連接。
技術分享圖片

二 mysql安裝

下面我們具體看下mysql的安裝。
MySQL的幾個常用安裝包:rpm、源碼、二進制免編譯包安裝
這裏我們采用二進制免編譯包安裝,他相對於源碼包來說不用去解決編譯缺少庫的錯誤,安裝更簡
單,因為他是在linux系統中編譯好的, 相對與rpm來說他可以指定目錄,方便包的管理。
cd /usr/local/src 到該目錄下,以後統一將下載的應用包放在這裏
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
下載一個mysql包,如果鏈接失效,可以再找其他鏡像源
tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
1 數據包重命名
mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
cd /usr/local/mysql
2 創建用戶及數據存放目錄

useradd mysql  
mkdir /data/   

3初始化
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
技術分享圖片
我們發現缺少perl 模塊下的 Dumper包,我們嘗試著找下
yum list |grep perl |grep -i dumper // -i 忽略大小寫
技術分享圖片
我們可以嘗試安裝這兩個包,看是否可以解決上面問題,也可以兩個都裝上,再初始化。
我們yum安裝了上面第一個包後,再次初始化,發現又有一個問題,真是出師不利,不過不用怕,上網查了下解決辦法:缺少libaio庫文件,直接放了個大招,yum install -y libaio* 後來我發現可以直接
yum povides libaio.so.1 找這個庫文件,畢竟這個模糊匹配安裝讓人不踏實。
技術分享圖片
安裝完後,echo $? 結果為0 ,這下好了
cp support-files/my-default.cnf /etc/my.cnf
拷貝配置文件模板並編輯,我們發現/etc/下已經有一個my.cnf 那麽就可以不用上面那個my-default.cnf文件了,直接編輯該文件即可
4 編輯配置文件
vim /etc/my.cnf
技術分享圖片
我們定義datadir 和 socket 然後註釋掉其他內容
5 定義啟動腳本
cp support-files/mysql.server /etc/init.d/mysqld
vim /etc/init.d/mysqld
拷貝啟動文件,並編輯
定義basedir和datadir
技術分享圖片
/etc/init.d/mysqld start
出現sucess 後表示啟動成功, 可以ps aux |grep mysqld 查看下進程。
6 要實現開機啟動,可以

chkconfig --add mysqld    //加入系統服務列表
chkconfig mysqld on

Linux 學習總結(三十)lamp之mysql安裝