標籤:lamp編譯安裝之mysql
lamp
分層機制:
使用者--[httpd協議]--apache--[fastCGI協議]--php--[mysql協議]--mysql
分層優勢:
Apache php和mysql都是CPU密集型的服務,分層可以緩解CPU壓力
同層的還可以做負載平衡
*************Apache和PHP結合的方式*****************
1, 模組化的方式,php編成Apache的模組
此時php是Apache的子功能存在的,所以調用php時不需要啟動額外的進程
任何httpd進程內部都已經裝載了php模組
apache使用不同的MPM時,php的模組也是不同的
prefork:libphp5.so
worker,event:libphp5-zts.so
2, CGI介面
3,fastCGI模式下的php,php 5.3.3收進fastCGI
編譯php-fpm並啟動為服務進程,監聽再某個通訊端下
服務進程fork幾個空閑進程,供別的進程調用
************php-mysql******************
通過用戶端程式mysql_connect()串連mysql
$link = mysql_connect(‘IP‘,‘user‘,‘mypass‘)可建立一個PHP和mysql的串連
mysql_close()
************mysql的主輔伺服器******************
master:寫操作都在主伺服器,也提供資料的讀操作
slave:讀操作
快取服務器,提高命中率,bypass(旁路)
*************memcached純快取服務器*****************
LAMMP
memcached必須前端程式調用才有效
########
************redis******************
工作在記憶體
可實現持久儲存,非關係型資料庫(NoSQL)
******************************
動靜分離
高可用叢集---->指令碼指令碼加油
******************************
安裝順序:
httpd mysql,最後php
*************安裝mysql*****************
mysql-5.5.33-linux2.6-x86_64.tar.gz
1,添加mysql使用者和mysql組,使用者設為nologin
groupadd -r mysql建立系統組
useradd -g mysql -r -s /sbin/nologin mysql
2,解壓到/usr/local
建立解壓包的軟串連為/usr/local/mysql ,以後升級可以直接重新軟串連mysql目錄
cd /usr/local
tar -zxf mysql-5.5.33-linux2.6-x86_64.tar.gz
ln -sv mysql-5.5.33-linux2.6-x86_64 mysql 升級mysql時重建mysql串連
3,建立邏輯卷管理來儲存資料庫檔案
mkdir data
fdisk /dev/sda (n ;f 8e)
kpartx -af /dev/sda
partx -a /dev/sda 通知核心讀取新的分區
cat /proc/partitions
pvcreate /dev/sda2
vgcreate mysqlvg /dev/sda2
lvcreate -L 2G -n mysqllv1 mysqlvg
mount /dev/mysqlvg/mysqlvg /data
vi /etc/fstab
/dev/mysqlvg/mysqllv1 ext4 /data defaults,noatime,nodiratime 0 0
cd /data
mkdir mydata計劃資料庫儲存目錄
chown -R mysql:mysql mydata將資料庫存放目錄的所有者改為mysql
4,建立並設定資料庫
cd /usr/local/mysql
chown -R root:mysql ./*
scripts/mysql_install_db --datadir=/data/mydata --user=mysql 建立資料庫
cp support-files/mysql.server /etc/init.d/mysqld啟動資料庫服務
chkconfig --add mysqld
cp support-files/my-large.cnf /etc/my.cnf
vi /etc/my.cnf
datadir = /data/mydata
service mysqld start
此時,mysql命令還找不到,需要編輯
vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
. !*!*表示上一條命令的參數
5,登入mysql
安全設定
drop user ‘‘@‘localhost‘;刪除匿名使用者
use mysql;
select host,user,password from user;
update user set password=PASSWORD(‘mysql2009‘) where user=‘root‘;
flush privileges;
6,mysql的設定檔
家目錄下建立.my.cnf
[mysql]
user = root
host = localhost
password = mysql2009
mysql的設定檔讀取順序:/etc/my.cnf-->$MYSQL_BASE/my.cnf
-->--defaults-extra-file = /path/to/some_my.cnf-->.my.cnf
7,匯出庫檔案
ln -sv /usr/local/mysql/include/ /usr/include/mysql
8,匯出標頭檔
vim /etc/ld.so.conf.d/mysql
/usr/local/mysql/lib
ldconfig重新整理動態庫
ldconfig -p |grep mysql查看
本文出自 “linux-halt” 部落格,請務必保留此出處http://loveall.blog.51cto.com/8658573/1875199
編譯安裝lamp-1(mysql)