前端(nginx+php)ip:192.168.10.8
后端(獨(dú)立mysql)ip:192.168.10.5
軟件版本:libiconv-1.14.tar.gz mysql-5.1.63.tar.gz php-5.2.17.tar.gz php-5.2.17-fpm-0.5.14.diff.gz php-5.2.17-max-input-vars.patch
1.先在后端安裝mysql
在192.168.10.5上只安裝mysql.方法可以去看centos編譯安裝nginx+php-fpm+mysql里的mysql安裝.
2.在前端安裝php-fpm nginx和mysql-client
這里只說下安裝mysql-client和php的編譯安裝.
代碼如下
tar zxf mysql-5.1.63.tar.gz && cd mysql-5.1.63
./configure --prefix=http://www.3lian.com/usr/local/mysql --without-server
這里只需要加上--without-server就可以讓mysql變成客戶端了.
如果出現(xiàn)/bin/rm: cannot remove `libtoolt': No such file or directory,可以去看這篇文章Mysql安裝:/bin/rm: cannot remove `libtoolt': No such file or directory.
沒有問題后,執(zhí)行命令:
代碼如下
make && make install
編譯php的時(shí)候只需要加上--with-mysql=mysql客戶端安裝目錄就可以了.這里我給出編譯參數(shù):
代碼如下
./configure --prefix=http://www.3lian.com/usr/local/php --enable-fastcgi --enable-fpm --with-fpm-log=http://www.3lian.com/var/log/php-fpm.log \
--with-fpm-conf=http://www.3lian.com/etc/php-fpm.conf --with-fpm-pid=http://www.3lian.com/var/run/php-fpm.pid --with-config-file-path=http://www.3lian.com/etc \
--with-config-file-scan-dir=http://www.3lian.com/etc/php.d --with-openssl --with-zlib --enable-bcmath --with-bz2 --with-curl \
--enable-ftp --with-gd --enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-gettext --with-mhash \
--enable-mbstring --with-mcrypt --enable-soap --enable-zip --with-iconv=http://www.3lian.com/usr/local/libiconv \
--with-mysql=http://www.3lian.com/usr/local/mysql --with-mysqli=http://www.3lian.com/usr/local/mysql/bin/mysql_config --without-pear
nginx的編譯沒有什么好說的了,我前面centos編譯安裝nginx+php-fpm+mysql這篇文章里已經(jīng)有講過了.
3.進(jìn)行測試驗(yàn)證
當(dāng)上面的一切都安裝好之后,在后端的mysql里給出遠(yuǎn)程權(quán)限,如下:
代碼如下
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
然后iptables上只允許192.168.10.8訪問mysql端口,其他都拒絕.如:
代碼如下
iptables -A RH-Firewall-1-INPUT -s 192.168.10.8 -p tcp -m tcp --dport 3306 -j ACCEPT
iptables -A RH-Firewall-1-INPUT -p tcp --dport 3306 -j DROP
services iptables save
services iptables restart
然后在192.168.10.8上進(jìn)行測試,是否可以遠(yuǎn)程連上mysql
mysql -h 192.168.10.5 -u root -p
如果可以連上,就繼續(xù)下一步的操作,不能連上的話請(qǐng)檢查上面是否有錯(cuò)誤的地方.
現(xiàn)在我們加個(gè)php頁面來測試php是否可以連上mysql,腳本如下:
代碼如下
<?php
$link=mysql_connect("192.168.10.5","root","123456");
if(!$link) echo "bad!" ;
else echo "ok!" ;
mysql_close();
?>
成功的話是ok!的輸出,失敗的話是bad!的輸出,我這里是成功的
mysql 5.5.x的只安裝客戶端.
需要的軟件:libiconv-1.14.tar.gz mysql-5.5.25a.tar.gz
1.安裝前的準(zhǔn)備
安裝前的準(zhǔn)備,可以去看這篇文章centos編譯安裝nginx+php-fpm+mysql
2.安裝libiconv
代碼如下
./configure --prefix=http://www.3lian.com/usr/local/libiconv
make && make install
3.只安裝mysql客戶端
代碼如下
cmake . && make mysqlclient libmysql
make install
這樣就只安裝了mysql客戶端,然后可以輸入whereis mysql來查看mysql安裝位置.
whereis mysql
好了,可以看到跟yum安裝的差不多.
4.安裝php
以前mysql是5.1的時(shí)候,只需要加上--with-mysql=mysql客戶端安裝目錄就可以了,但在mysql 5.5.x這個(gè)參數(shù)就要改變下了,下面是php的編譯參數(shù):
代碼如下
./configure --prefix=http://www.3lian.com/usr/local/php --enable-fastcgi --enable-fpm --with-fpm-log=http://www.3lian.com/var/log/php-fpm.log --with-fpm-conf=http://www.3lian.com/etc/php-fpm.conf \
--with-fpm-pid=http://www.3lian.com/var/run/php-fpm.pid --with-config-file-path=http://www.3lian.com/etc --with-config-file-scan-dir=http://www.3lian.com/etc/php.d \
--with-openssl --with-zlib --enable-bcmath --with-bz2 --with-curl --enable-ftp \
--with-gd --enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-gettext --with-mhash \
--enable-mbstring --with-mcrypt --enable-soap --enable-zip --with-iconv=http://www.3lian.com/usr/local/libiconv \
--with-mysql=shared,/usr --with-mysqli=shared,/usr/bin/mysql_config
大家可以看最后一行,--with-mysql=shared,/usr --with-mysqli=shared,/usr/bin/mysql_config這就是跟以前不同的行.好了,剩下的就不寫了