CentOS6.5下搭建LAMP環(huán)境源碼編譯方式
《CentOS6.5下搭建LAMP環(huán)境源碼編譯方式》由會(huì)員分享,可在線閱讀,更多相關(guān)《CentOS6.5下搭建LAMP環(huán)境源碼編譯方式(19頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、CentOS 6.4安裝配置LAMP服務(wù)器(Apache+PHP5+MySQL) 學(xué)習(xí)PHP腳本編程語(yǔ)言之前,必須先搭建并熟悉開(kāi)發(fā)環(huán)境,開(kāi)發(fā)環(huán)境有很多種,例如LAMP ,WAMP,MAMP等。這里我介紹一下LAMP環(huán)境的搭建,即Linux、 Apache、 MySQL 、PHP環(huán)境。 一、首先安裝操作系統(tǒng) 操作系統(tǒng):centos6.5 操作系統(tǒng)安裝步驟,此處不再詳述。 備注:服務(wù)器系統(tǒng)采用最小化安裝,安裝一下GCC編譯工具和一個(gè)桌面即可。如下圖所示: 由于安裝系統(tǒng)的時(shí)候我是最小化安裝,只安裝了一個(gè)桌面,GCC編譯工具也是系統(tǒng)裝完之后安裝的,所以沒(méi)有默認(rèn)的LAMP環(huán)境,如下圖
2、示: 如果安裝的時(shí)候有選擇默認(rèn)全部安裝,就已經(jīng)安裝了LAMP環(huán)境,但是相對(duì)版本較低,而且安裝的路徑等可能不是我們想要的結(jié)果。所以這里順便介紹一下,如果存在默認(rèn)的LAMP環(huán)境,進(jìn)行卸載的方法,以apache為例: #rpm -qa | grep -i httd // 查詢系統(tǒng)中已安裝的Apache相關(guān)軟件包 #service httpd stop //如果 apache已開(kāi)啟,停止運(yùn)行apache服務(wù)器 #rpm -e httpd-xxx --nodeps //卸載 apache服務(wù)器 php、 mysql卸載方法同上。 【搭建LAMP環(huán)境須知】 搭建LAMP
3、環(huán)境時(shí),需要安裝的所有軟件都要按照一定的順序安裝,我們按照Apache->MySQL->PHP的順序安裝。但是在安裝PHP之前,應(yīng)先安裝PHP5需要的最新版本庫(kù)文件,例如libxml2、libmcrypt,以及GD2庫(kù)等文件。安裝GD2庫(kù)是為了讓PHP5支持 GIF、PNG和JPEG圖片格式,所以在安裝GD2庫(kù)之前還要先安裝最新的zlib、libpng、freetype和jpegsrc等庫(kù)文件。而且中間還會(huì)穿插安裝一些軟件。 二、LAMP安裝前的準(zhǔn)備 1、獲取軟件包 httpd-2.4.9.tar.gz http://httpd.apache.org/ mysql-5.7.4.ta
4、r.gz php-5.5.14.tar.gz phpMyAdmin-4.2.5-all-languages.tar.gz libxml2-2.9.0.tar.gz ftp://xmlsoft.org/libxml2/ libmcrypt-2.5.8.tar.gz ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/ libgd-2.1.0.tar.gz https://bitbucket.org/libgd/gd-libgd/downloads zlib-1.2.8.tar.gz autoconf
5、-2.69.tar.gz http://ftp.gnu.org/gnu/autoconf/ freetype-2.5.3.tar.gz http://download.savannah.gnu.org/releases/freetype/ libpng-1.6.12.tar.gz ftp://ftp.simplesystems.org/pub/libpng/png/src/ jpegsrc.v9a.tar.gz http://www.ijg.org/files/ ZendGuard-5_5_0.tar.gz apr-1.5.1.tar.gz http://apr
6、.apache.org/download.cgi apr-util-1.5.3.tar.gz http://apr.apache.org/download.cgi pcre-8.35.zip 把上面下載的16個(gè)源代碼包放到linux系統(tǒng)下的/usr/local/src/LAMP目錄中 2、編譯工具安裝 如果安裝系統(tǒng)的時(shí)候已經(jīng)安裝了GCC編譯工具,則顯示上圖中的信息,如果沒(méi)有安裝,可以使用下面的方法進(jìn)行安裝: 檢查是否安裝: [root@centos6 ~]# rpm -q make gcc gcc-c++zlib-devellibaio 備注:安裝libp
7、ng時(shí)候需要zlib-devel安裝mysql時(shí)候需要libaio 如果沒(méi)安裝則yum安裝: [root@centos6 ~]# yum -y install make gcc gcc-c++zlib-devel libaio 3、配置防火墻,開(kāi)啟80端口、3306端口 編輯/etc/sysconfig/iptables文件,配置防火墻 [root@centos6 ~]# vi /etc/sysconfig/iptables 添加下面兩句,開(kāi)啟相應(yīng)端口: -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEP
8、T #允許80端口通過(guò)防火墻 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允許3306端口通過(guò)防火墻 備注:很多網(wǎng)友把這兩條規(guī)則添加到防火墻配置的最后一行,導(dǎo)致防火墻啟動(dòng)失敗,正確的應(yīng)該是添加到默認(rèn)的22端口這條規(guī)則的下面如下所示: ######################## 添加好之后防火墻規(guī)則如下所示 ######################## # Firewall configuration written by system-config-firewall # Manu
9、al customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEP
10、T -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT ######################## 添加好之后防火墻規(guī)則如上所示 ###
11、##################### 最后重啟防火墻使配置生效 [root@centos6 ~]# /etc/init.d/iptables restart 4、關(guān)閉SELINUX 編輯/etc/selinux/config文件 [root@centos6 ~]# vi /etc/selinux/config 詳細(xì)修改如下所示: #SELINUX=enforcing #注釋掉 #SELINUXTYPE=targeted #注釋掉 SELINUX=disabled #增加 :wq #保存,關(guān)閉 [root@centos6 ~]#shutdown -r now
12、 #重啟系統(tǒng) 三、開(kāi)始搭建LAMP環(huán)境 安裝時(shí)的主要步驟: (1)解壓tar.gz為后綴的壓縮包軟件 LAMP環(huán)境搭建所需要的每個(gè)軟件的源代碼文件,都是以.tar.gz提供給我們的打包壓縮文件,所以我們必須將其解壓再解包。可通過(guò)命令#tar zxvf tarfile.tar.gz達(dá)到目的。 (2)在linux系統(tǒng)中源代碼包安裝過(guò)程 進(jìn)行解壓后的目錄,LAMP環(huán)境搭建所需要的軟件都使用C語(yǔ)言開(kāi)發(fā)的,所以安裝源代碼文件最少需要配置(configure)、編譯(make)、安裝(make install)三個(gè)步驟。 1、確認(rèn)搭建LAMP所需要的環(huán)境是否已經(jīng)安裝 此步驟前
13、面已經(jīng)完成。 2、編譯安裝libxml2 注:libxml2是一個(gè)xml的c語(yǔ)言版的解析器,不僅支持c語(yǔ)言,還支持c++、php、Pascal、Ruby、Tcl等語(yǔ)言的綁定 [root@centos6 LAMP]# pwd /usr/local/src/LAMP [root@centos6 LAMP]# tar -zxvf libxml2-2.7.8.tar.gz [root@centos6 LAMP]# cd ./libxml2-2.7.8 [root@centos6 libxml2-2.7.8]# ./configure --prefix=/usr/local/libxm
14、l2/ [root@centos6 libxml2-2.7.8]# make [root@centos6 libxml2-2.7.8]# make install 注:選項(xiàng)--prefix=/usr/local/libxml2作用是將軟件安裝到/usr/local/libxml2 目錄下。 如果安裝成功以后,在/usr/local/libxml2/目錄下將生成bin,include,lib,share四個(gè)目錄。在后面安裝 PHP5源代碼的配置時(shí),會(huì)通過(guò)在configure命令的選項(xiàng)中加上"--with-libxml-dir=/usr/local/libxml2"選項(xiàng),用于指定安裝l
15、ibxml2庫(kù)文件的位置。 3、編譯安裝libmcrypt 注:libmcrypt是加密算法擴(kuò)展庫(kù)。支持DES, 3DES, RIJNDAEL, Twofish, IDEA, GOST, CAST-256, ARCFOUR, SERPENT, SAFER+等算法。 [root@centos6 LAMP]# pwd /usr/local/src/LAMP [root@centos6 LAMP]# tar -zxvf libmcrypt-2.5.8.tar.gz [root@centos6 LAMP]# cd ./libmcrypt-2.5.8 [root@centos6 lib
16、mcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt/ [root@centos6 libmcrypt-2.5.8]# make;make install 如果安裝成功就會(huì)在/usr/local/libmcrypt/目錄下生成bin,include,lib,man,share五個(gè)目錄。然后在安 裝PHP5源代碼包的配置時(shí),就可以通過(guò)configure命令加上“--with-mcrypt-dir=/usr/local/libmcrypt” 選項(xiàng),指定這個(gè)libmcrypt庫(kù)文件的位置。 如./configure時(shí)報(bào)錯(cuò):confi
17、gure: error: C++ compiler cannot create executables 。 解決方案: 運(yùn)行下面命令,然后重新configure(配置) yum install gcc gcc-c++ gcc-g77 安裝完成libmcrypt庫(kù)以后,不同的linux系統(tǒng)版本有可能還要安裝一下libltdl庫(kù)。安裝方法和前面的步驟相同,可以進(jìn)入到解壓縮的 目錄/usr/local/src/libmcrypt-2.5.8下,找到libltdl庫(kù)源代碼所在的目錄libltdl,進(jìn)入這個(gè)目錄按照下面幾個(gè) 命令配置、編譯、安裝就可以了。 [root@localhost li
18、bltdl]# pwd /usr/local/src/libmcrypt-2.5.8/libltdl //進(jìn)入軟件源代碼目錄 [root@localhost libltdl]# ./configure –enable-ltdl-install //配置ltdl庫(kù)的安裝 [root@localhost libltdl]# make //編譯 [root@localhost libltdl]# make install //安裝 4、編譯安裝zlib 注:zlib是提供數(shù)據(jù)壓縮用的函式庫(kù) [root@centos6 LAMP]# pwd /usr/local/s
19、rc/LAMP [root@centos6 LAMP]# tar -zxvf zlib-1.2.5.tar.gz [root@centos6 LAMP]# cd ./zlib-1.2.5 [root@centos6 zlib-1.2.5]# ./configure --prefix=/usr/local/zlib/ [root@centos6 zlib-1.2.5]# make ; make install 如果安裝成功將會(huì)在/usr/local /zlib目錄下生成include,lib,share三個(gè)目錄。在安裝PHP5配置時(shí),在configure命令的選項(xiàng)中加上“--with
20、- zlib-dir=/usr/local/libmcrypt”選項(xiàng),用于指定zlib庫(kù)文件位置。 5、編譯安裝libpng [root@centos6 LAMP]# pwd /usr/local/src/LAMP [root@centos6 LAMP]# tar -zxvf libpng-1.5.4.tar.gz [root@centos6 LAMP]# cd ./libpng-1.5.4 [root@centos6 libpng-1.5.4]# ./configure --prefix=/usr/local/libpng/ --enable-shared [root@
21、centos6 libpng-1.5.4]# make ; make install 在./configure --prefix=/usr/local/libpng這步最后會(huì)提示:configure: error: ZLib not installed 解決方法如下: 1)進(jìn)入zlib的源文件目錄,執(zhí)行命令 make clean,清除zlib; 2)重新配置 ./configure,后面不要接--prefix參數(shù); 3)make && make install; 4)進(jìn)入libpng目錄,執(zhí)行命令 ./configure --prefix=/usr/local/libpng;
22、5)make && make install; 6)安裝成功. 如果安裝成功將會(huì)在/usr/local/libpng目錄下生成bin,include,lib和share四個(gè)目錄。在安裝GD2庫(kù)配置時(shí),通 過(guò)在configure命令選項(xiàng)中加上“--with-png=/usr/local/libpng”選項(xiàng),指定libpng庫(kù)文件的位置。 6、編譯安裝jpeg 注:安裝GD2庫(kù)前所需的jpeg8庫(kù)文件,需要自己手動(dòng)創(chuàng)建安裝需要的目錄,它們?cè)诎惭b時(shí)不能自動(dòng)創(chuàng)建。 [root@centos6 LAMP]# pwd /usr/local/src/LAMP [root@centos
23、6 LAMP]# tar -zxvf jpegsrc.v8c.tar.gz [root@centos6 LAMP]# cd ./jpeg-8c/ [root@centos6 jpeg-8c]# mkdir /usr/local/jpeg/ (創(chuàng)建jpeg軟件的安裝目錄) [root@centos6 jpeg-8c]# mkdir /usr/local/jpeg/bin/ (創(chuàng)建存放命令的目錄) [root@centos6 jpeg-8c]# mkdir /usr/local/jpeg/lib/ (創(chuàng)建jpeg庫(kù)文件所在目錄) [root@centos6 jpeg-8c]# m
24、kdir /usr/local/jpeg/include/ (創(chuàng)建存放頭文件目錄) [root@centos6 jpeg-8c]# mkdir -p /usr/local/jpeg/man/man1 (建立存放手冊(cè)的目錄) [root@centos6 jpeg-8c]# ./configure --prefix=/usr/local/jpeg/ \ > --enable-shared \ > --enable-static(建立共享庫(kù)使用的GNU的libtool和靜態(tài)庫(kù)使用的GNU的libtool) [root@centos6 jpeg-8c]# make ; make inst
25、all 在安裝GD2庫(kù)配置時(shí),可以在configure命令的選項(xiàng)中加上“--with-jpeg=/usr/local/jpeg8”選項(xiàng),指定jpeg8庫(kù)文件的位置。安裝PHP時(shí)也要指定該庫(kù)文件的位置。 7、編譯安裝freetype [root@centos6 LAMP]# pwd /usr/local/src/LAMP [root@centos6 LAMP]# tar -zxvf freetype-2.4.6.tar.gz [root@centos6 LAMP]# cd ./freetype-2.4.6 [root@centos6 freetype-2.4.6]# ./c
26、onfigure --prefix=/usr/local/freetype/ --enable-shared [root@centos6 freetype-2.4.6]# make ;make install 如果安裝成功將會(huì)在/usr/local/freetype目錄下存在bin,include,lib和share四個(gè)目錄。并在安裝GD2庫(kù)時(shí),通過(guò)configure命令選項(xiàng)中加上“--with-freetype=/usr/local/freetype/”選項(xiàng),指定freetype庫(kù)文件位置。 8、編譯安裝autoconf 唯一注意的地方是configure時(shí),不用指定路徑。
27、 [root@centos6 LAMP]# pwd /usr/local/src/LAMP [root@centos6 LAMP]# tar -zxvf autoconf-2.68.tar.gz [root@centos6 LAMP]# cd ./autoconf-2.68 [root@centos6 autoconf-2.68]# ./configure [root@centos6 autoconf-2.68]# make ; make install 9、編譯安裝GD [root@centos6 LAMP]# pwd /usr/local/src/LAMP [root
28、@centos6 LAMP]# tar -zxvf gd-2.0.35.tar.gz [root@centos6 LAMP]# cd ./gd-2.0.35 [root@centos6 gd-2.0.35]# ./configure \ //配置命令 > --prefix=/usr/local/gd \ //指定安裝軟件的位置 > --with-jpeg=/usr/local/jpeg/ \ //指定去哪找jpeg庫(kù)文件 > --with-png=/usr/local/libpng/ \ //指定去哪找png庫(kù)文件 > --with-zlib=/usr/local/z
29、lib/ //指定去哪找zlib庫(kù)文件 > --with-freetype=/usr/local/freetype///指定去哪找freetype 2.x字體庫(kù)的位置 [root@centos6 gd-2.0.35]# make ; make install 如果安裝成功會(huì)在/usr/local/gd/目錄下存在bin、include和lib這三個(gè)目錄。在安裝PHP5時(shí),通過(guò)在configure命令選項(xiàng)中加上“--with-gd=/usr/local/gd”選項(xiàng),指定GD庫(kù)文件的位置。 如果報(bào)錯(cuò): gd_png.c 中 gdMalloc函數(shù)的問(wèn)題 make[2]: *** [
30、gd_png.lo] Error 1 make[2]: Leaving directory `/tmp/gd-2.0.35 make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/tmp/gd-2.0.35 make: *** [all] Error 2 解決方案: vi gd_png.c 找到#include "png.h"改成#include "/usr/local/libpng/include/png.h" 如果報(bào)錯(cuò):unrecognized option –with-zlib 那就重新安裝一次
31、zlib,注意,需要把原先解壓出來(lái)的源碼刪掉,重新解壓進(jìn)行安裝。 10、安裝apache 卸載apr、apr-util [root@centos6 LAMP]# yum remove apr apr-util 編譯安裝apr-1.5.1.tar.gz [root@centos6 LAMP]# tar zxvf apr-1.5.1.tar.gz [root@centos6 LAMP]# cd apr-1.5.1 [root@centos6 apr-1.5.1]# ./configure --prefix=/usr/local/apr-httpd/ && make && mak
32、e install 編譯安裝apr-util-1.5.3.tar.gz [root@centos6 LAMP]# tar zxvf apr-util-1.5.3.tar.gz [root@centos6 LAMP]# cd apr-util-1.5.1 [root@centos6 apr-util-1.5.3]# ./configure --prefix=/usr/local/apr-util-httpd/ --with-apr=/usr/local/apr-httpd/ && make && make install 編譯安裝pcre-8.35.zip [root@cento
33、s6 LAMP]# unzip -o pcre-8.35.zip [root@centos6 LAMP]# cd pcre-8.35 [root@centos6 pcre-8.35]# ./configure --prefix=/usr/local/pcre [root@centos6 pcre-8.35]# make [root@centos6 pcre-8.35]# make install 編譯安裝apache [root@centos6 LAMP]# tar zxvf httpd-2.4.9.tar.gz [root@centos6 LAMP]# cd httpd-2
34、.4.9 [root@centos6 httpd-2.4.9]# ./configure \ > --prefix=/usr/local/apache249 \ > --enable-mods-shared=all \ > --enable-deflate \ > --enable-speling \ > --enable-cache \ > --enable-file-cache \ > --enable-disk-cache \ > --enable-mem-cache \ > --enable-so \ > --enable-expires=shared \ >
35、--enable-rewrite=shared \ > --enable-static-support \ > --sysconfdir=/etc/httpd \ > --with-z=/usr/local/zlib/ \ > --with-apr=/usr/local/apr-httpd/ \ > --with-apr-util=/usr/local/apr-util-httpd/ \ > --with-pcre=/usr/local/pcre/ \ > --disable-userdir [root@centos6 httpd-2.4.9]# make && make in
36、stall 安裝完成后,進(jìn)入/usr/local/apache243/目錄下,檢查是否有以下文件: bin build cgi-bin error htdocs icons include logs man manual modules 啟動(dòng)Apache服務(wù)器,并查端口是否開(kāi)啟,啟動(dòng)Apache服務(wù)器的命令行如下: [root@centos6 httpd-2.4.9]# /usr/local/apache249/bin/apachectl start 提示信息: AH00558: httpd: Could not reliably determine the serv
37、ers fully qualified domain name, using ::1. Set the ServerName directive globally to suppress this message 解決方案: [root@centos6 httpd-2.4.9]# vi /etc/httpd/httpd.conf 加上下面一行,重啟apache ServerName localhost:80 查看端口命令行如下: #netstat -tnl|grep 80 tcp 0 0 0.0.0.0:80 0.0.0.0:*
38、 LIST 測(cè)試安裝結(jié)果,打開(kāi)瀏覽器,在地址欄中輸入U(xiǎn)RL為:http://192.168.146.129/ 如果瀏覽器中出現(xiàn)It works!則表明Apache服務(wù)器可以使用。 每種服務(wù)器軟件都有必要制成開(kāi)機(jī)時(shí)自動(dòng)啟動(dòng),Apache服務(wù)器開(kāi)機(jī)自動(dòng)啟動(dòng),只要在“/etc/rc.d/rc.local”文件,加上 Apache服務(wù)器的啟動(dòng)命令即可??梢灾苯哟蜷_(kāi)“/etc/rc.d/rc.local”文件,在最后一行寫(xiě)入Apache啟動(dòng)命令,也可以用echo 命令追加進(jìn)去,如下命令行示: [root@localhost apache243]# echo "/usr/local/apa
39、che243/bin/apachectl start" >> /etc/rc.d/rc.local [root@centos6 LAMP]# /usr/local/apache/bin/apachectl start [root@centos6 LAMP]# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd [root@centos6 LAMP]# chmod +x /etc/init.d/httpd [root@centos6 ~]# chkconfig --add httpd 注意:如果提示servicehttpddoe
40、s not support chkconfig錯(cuò)誤 解決辦法:編輯/etc/rc.d/init.d/httpd在文件第二行加入 #chkconfig:234510 90 #description:Activates/Deactivates Apache Web Server [root@centos6 ~]# chkconfig --level 2345 httpd on [root@centos6 LAMP]# service httpd restart 開(kāi)機(jī)自動(dòng)啟動(dòng)apache的另一種方法: 修改/etc/rc.local文件 # vim /etc/rc.local
41、在文件中添加/usr/local/apache/bin/apachectl start 11、編譯安裝mysql(新版本的mysql編譯) mysql版本5.5以上編譯安裝時(shí)需要用到軟件cmake,cmake特性是獨(dú)立于源碼編譯,編譯工作可以在另外一個(gè)目錄中而非源碼目錄中進(jìn)行,好處是可以保證源碼目錄不受任何一次編譯的影響。估計(jì)以后的版本也會(huì)采用這種方式,所以特地記錄一下安裝步驟及過(guò)程,以供參考。 注意:此安裝是默認(rèn)centos下已經(jīng)安裝了最新工具包,比如GNUmake,GCC,Perl,libncurses5-dev,如果在編譯安裝過(guò)程中發(fā)現(xiàn)有缺失的工具包,先yuminstall
42、單獨(dú)下載安裝再繼續(xù)即可。 以下安裝中涉及的幾點(diǎn)需要提前說(shuō)明的問(wèn)題: l 所有下載的文件將保存在/usr/local/src/目錄下 l mysql將以mysql用戶運(yùn)行,而且將加入service開(kāi)機(jī)自動(dòng)運(yùn)行 l mysql將被安裝在/usr/local/mysql/目錄下 l mysql默認(rèn)安裝使用utf8字符集 l mysql的數(shù)據(jù)和日志文件保存在/usr/local/mysql/data/對(duì)應(yīng)目錄下 l mysql的配置文件保存于/etc/f 1.下載安裝cmake 下載軟件cmake-3.0.0.tar.gz http://www.cmake.org/ [roo
43、t@centos6 ~]# tar zxvf cmake-3.0.0.tar.gz [root@centos6 ~]# cd cmake-3.0.0 [root@centos6 ~]# ./bootstrap [root@centos6 ~]# gmake [root@centos6 ~]# make && make install 在使用時(shí)可能會(huì)出現(xiàn)error,若提示是/usr/bin/cmake文件不存在。 解決辦法: [root@centos6 ~]#whereis cmake 得到cmke的可執(zhí)行文件的路徑,如在:/usr/local/bin/cmake [
44、root@centos6 ~]# ln -s /usr/local/bin/cmake /usr/bin/cmake 創(chuàng)建一個(gè)鏈接文件即可解決。 2.安裝ncurses-devel 首先需要使用yum安裝了下ncurses-devel [root@centos6 ~]# yum –y install ncurses-devel 否則在下面安裝過(guò)程中會(huì)出現(xiàn)缺少如下的ERROR: Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH) CMake Error at cmake/readline.cm
45、ake:83 (MESSAGE): Curses library not found. Please install appropriate package, 3.安裝mysql (1)創(chuàng)建用戶、組和目錄 [root@centos6 ~]# groupadd mysql [root@centos6 ~]# useradd mysql -g mysql [root@centos6 ~]# passwd mysql //設(shè)置密碼為:123 [root@centos6 ~]# mkdir /usr/local/mysql //創(chuàng)建安裝目錄 [root@cen
46、tos6 ~]# mkdir /usr/local/mysql/data //創(chuàng)建數(shù)據(jù)倉(cāng)庫(kù)目錄(不創(chuàng)建的話默認(rèn)就 //是這個(gè)目錄即$PREFIX_DIR/data) [root@centos6 ~]# chown -R mysql.mysql /usr/local/mysql/ (2)編譯安裝mysql-5.7.4 [root@centos6 ~]# tar zxvf mysql-5.7.4.tar.gz [root@centos6 ~]# cd mysql-5.7.4 [root@centos6 ~]# cmake -DCMAKE_INSTAL
47、L_PREFIX=/usr/local/mysql \ > -DMYSQL_UNIX_ADDR=/usr/local/mysql.sock \ //最好不要指定 > -DMYSQL_DATADIR=/usr/local/mysql/data \ > -DDEFAULT_CHARSET=utf8 \ > -DDEFAULT_COLLATION=utf8_general_ci \ > -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \ > -DWITH_MYISAM_STORAGE_ENGINE=1 \ > -DWITH_INNOBASE_STORA
48、GE_ENGINE=1 \ > -DWITH_MEMORY_STORAGE_ENGINE=1 \ > -DWITH_READLINE=1 \ > -DENABLED_LOCAL_INFILE=1 \ > -DMYSQL_USER=mysql \ > -DMYSQL_TCP_PORT=3306 [root@centos6 ~]# make && make install 注意:若第一次的配置錯(cuò)誤,需要先刪除當(dāng)前mysql源碼目錄中的CMakeCache.txt (不是cmake源碼目錄中的),然后再重新進(jìn)行cmake配置。 cmake參數(shù)說(shuō)明: -DCMAKE_INSTAL
49、L_PREFIX= 數(shù)據(jù)庫(kù)程序安裝路徑; -DMYSQL_DATADIR= 數(shù)據(jù)庫(kù)文件存放路徑(不配置的話會(huì)默認(rèn)創(chuàng)建$PREFIX_DIR/data) -DMYSQL_UNIX_ADDR= 默認(rèn)位置是/var/lib/mysql/mysql.sock,如果指定其他路徑,需要做一個(gè)軟鏈接,或者在配置文件f中進(jìn)行設(shè)置。 -DDEFAULT_CHARSET= 默認(rèn)數(shù)據(jù)庫(kù)編碼 -DDEFAULT_COLLATION= 默認(rèn)數(shù)據(jù)庫(kù)整理編碼 -DWITH_EXTRA_CHARSETS= 擴(kuò)展支持編碼(all | utf8,gbk,gb2312 | none) -DWITH_MYISAM_STO
50、RAGE_ENGINE= MYISAM引擎支持(1|0) -DWITH_INNOBASE_STORAGE_ENGINE= innoDB引擎支持(1|0) -DWITH_MEMORY_STORAGE_ENGINE= MEMORY引擎支持(1|0) (3)配置mysql 權(quán)限設(shè)置: [root@resource mysql]# pwd /usr/local/mysql //mysql安裝目錄 [root@localhost mysql]# chown -R root.mysql . //設(shè)置安裝目錄下所有文件的權(quán)限 [root@resource mysql]# cho
51、wn -R mysql.mysql ./data //data的權(quán)限 [root@resource mysql]# chown -R mysql.mysql /var/lib/mysql //mysql.sock的權(quán)限 修改配置文件f 首先查看是否存在/etc/f文件,有則直接打開(kāi)編輯,否則請(qǐng)復(fù)制配置文件,目標(biāo)路徑自己設(shè)定: [root@centos6 ~]# cp support-files/my-f /usr/local/mysql/f 修改f參數(shù),沒(méi)有則加入如下: basedir = /usr/local/mysql(不配置的話默認(rèn)為$PREFIX_DIR) d
52、atadir = /usr/local/mysql/data(不配置的話默認(rèn)為$PREFIX_DIR/data) log-error = /usr/local/mysql/mysql_error.log(不配置的話默認(rèn)為$PREFIX_DIR/data/$hostname.err) pid-file = /usr/local/mysql/mysql.pid(不配置的話默認(rèn)為$PREFIX_DIR/data/$hostname.pid) user = mysql tmpdir = /tmp(不配置的話默認(rèn)為/tmp) /etc/f的配置請(qǐng)參考下面的例子進(jìn)行配置: ********
53、************************** /etc/f配置示例 **************************************** [mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/var/lib/mysql/mysql.sock //要正確配置 user=mysql port=3306 # Disabling symbolic-links is recommended to prevent assorted security risks sy
54、mbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/usr/local/mysql/data/CentOS6.5.pid //這個(gè)要配置正確 ********************************** /etc/f配置示例 **************************************** 注意:在/etc/f文件中的pid-file一定要設(shè)定正確,否則后面會(huì)出現(xiàn)無(wú)法登錄的情況,我在這里被耽誤來(lái)好久好久。該pid-file的路徑名在哪里,可使用下面的命令:
55、 [root@centos6 ~]# ps aux | grep mysql 會(huì)出現(xiàn)類似下面的情況,如果沒(méi)有則重新啟動(dòng)mysql就有了,在下面的輸出信息中找到pid-file的路徑名。 root 3534 0.0 0.0 106232 1408 pts/0 S 23:40 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/CentOS6.5.pid mysql 3741
56、2.0 26.8 1248408 550728 pts/0 Sl 23:40 0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/usr/local/mysql/data/CentOS6.5.pid --socket=/var/lib/mysql/mysql.s
57、ock --port=3306 root 3952 0.0 0.0 103252 824 pts/3 S+ 23:41 0:00 grep mysql 初始化數(shù)據(jù)庫(kù) 執(zhí)行前需賦給scripts/mysql_install_db文件執(zhí)行權(quán)限: [root@centos6 ~]# pwd /usr/local/mysql //mysql安裝目錄 [root@centos6 ~]# chmod 755 scripts/mysql_install_db [root@centos6 ~]# scripts/mysql_install_db --
58、user=mysql \ > --basedir=/usr/local/mysql \ > --datadir=/usr/local/mysql/data 注:basedir:mysql安裝路徑 datadir:數(shù)據(jù)庫(kù)文件儲(chǔ)存路徑,(--user一定要加,其他可不加,默認(rèn)會(huì)是$PREFIX_DIR和$PREFIX_DIR/data,因?yàn)?-help看到說(shuō)不加--user會(huì)以當(dāng)前系統(tǒng)登錄用戶啟動(dòng)mysql) 在數(shù)據(jù)庫(kù)成功初始化之后,可以根據(jù)現(xiàn)在屏幕上的提示信息來(lái)做,先啟動(dòng)mysql: /usr/local/mysql574/bin/mysqld_safe --user=
59、mysql & //啟動(dòng)mysql /usr/local/mysql574/bin/mysqladmin --version //測(cè)試下 再修改root密碼: /usr/local/mysql574/bin/mysqladmin -u root password 123456 設(shè)置mysqld的開(kāi)機(jī)啟動(dòng) [root@centos6 ~]# cp support-files/mysql.server /etc/init.d/mysql [root@centos6 ~]# chmod 755 /etc/init.d/mysql [root@centos6 ~]# chkcon
60、fig mysql on 可使用chkconfig –list | grep mysql 命令查詢剛才的設(shè)置情況。 為MySQL配置環(huán)境變量 將mysql的bin目錄加到PATH中,有利于以后管理和維護(hù),在/etc/profile中加入myslq/bin,同時(shí)增加兩個(gè)別名方便操作。 注:后面兩個(gè)別名不加也可以,加上以后的操作更方便。 [root@centos6 ~]# export PATH=/usr/local/mysql/bin:$PATH [root@centos6 ~]# alias mysql_start="mysqld_safe &" [root@centos6
61、~]# alias mysql_stop="mysqladmin -u root -p shutdown" 啟動(dòng)mysql服務(wù): [root@centos6 ~]# /etc/init.d/mysql start 啟動(dòng)完成之后用ps -ef |grep mysql 命令查看是否啟動(dòng) 登陸mysql: [root@centos6 ~]# mysql -u root -p [問(wèn)題] 如果出現(xiàn)錯(cuò)誤:MYSQL:The server quit without updating PID file。 一種可能是selinux惹的禍,如果是centos系統(tǒng),默認(rèn)會(huì)開(kāi)啟selinu
62、x。解決方法就是關(guān)閉它。 [root@centos6 ~]# vi /etc/selinux/config 詳細(xì)修改如下所示: #SELINUX=enforcing #注釋掉 #SELINUXTYPE=targeted #注釋掉 SELINUX=disabled #增加 :wq #保存,關(guān)閉 [root@centos6 ~]#shutdown -r now #重啟系統(tǒng) 另外一種可能就是pid文件的路徑設(shè)置不正確,可參考上文中對(duì)pid文件的設(shè)置方法。 [問(wèn)題] Can’t connect to local Mysql server through socket ‘/tmp
63、/mysql.sock’ (2) 問(wèn)題分析:mysql安裝之后,需要使用mysql.sock的socket文件鏈接mysql數(shù)據(jù)庫(kù),默認(rèn)的引用位置為/tmp/mysql.sock,而mysql.sock文件一般在/var/lib/mysql/路徑下,因此需要做一個(gè)軟鏈接。另外注意mysql.sock的權(quán)限屬性。 解決方法: [root@centos6 ~]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock [root@CentOS6 hcyj]# ll /tmp/mysql.sock lrwxrwxrwx 1 mysql my
64、sql 25 Jul 17 23:21 /tmp/mysql.sock -> /var/lib/mysql/mysql.sock [root@CentOS6 hcyj]# ll /var/lib/mysql/mysql.sock srwxrwxrwx 1 mysql mysql 0 Jul 18 10:05 /var/lib/mysql/mysql.sock 再次連接: [root@centos6 ~]# /usr/local/mysql/bin/mysql -u root -p 連接上了,問(wèn)題解決。 [問(wèn)題] 若出現(xiàn)ERROR 1045 (28000): Access den
65、ied for user root@localhost (using password: YES(NO)) 這種情況。 解決方法,如下: [root@centos6 ~]# /etc/init.d/mysql stop [root@centos6 ~]# /usr/local/mysql/bin/mysqld_safe --user=mysql --skip-grant-tables --skip-networking & [root@centos6 ~]# /usr/local/mysql/bin/mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD(newpassword) where USER=root; //請(qǐng)將newpassword更換為自己設(shè)定的密碼即可,其他不變 mysql> FLUSH PRIVILEG
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 市教育局冬季運(yùn)動(dòng)會(huì)安全工作預(yù)案
- 2024年秋季《思想道德與法治》大作業(yè)及答案3套試卷
- 2024年教師年度考核表個(gè)人工作總結(jié)(可編輯)
- 2024年xx村兩委涉案資金退還保證書(shū)
- 2024年憲法宣傳周活動(dòng)總結(jié)+在機(jī)關(guān)“弘揚(yáng)憲法精神推動(dòng)發(fā)改工作高質(zhì)量發(fā)展”專題宣講報(bào)告會(huì)上的講話
- 2024年XX村合作社年報(bào)總結(jié)
- 2024-2025年秋季第一學(xué)期初中歷史上冊(cè)教研組工作總結(jié)
- 2024年小學(xué)高級(jí)教師年終工作總結(jié)匯報(bào)
- 2024-2025年秋季第一學(xué)期初中物理上冊(cè)教研組工作總結(jié)
- 2024年xx鎮(zhèn)交通年度總結(jié)
- 2024-2025年秋季第一學(xué)期小學(xué)語(yǔ)文教師工作總結(jié)
- 2024年XX村陳規(guī)陋習(xí)整治報(bào)告
- 2025年學(xué)校元旦迎新盛典活動(dòng)策劃方案
- 2024年學(xué)校周邊安全隱患自查報(bào)告
- 2024年XX鎮(zhèn)農(nóng)村規(guī)劃管控述職報(bào)告