liunx服務使用(mysql數據庫的安裝和傳說中的LAMP的安裝【論壇的搭建】)


首先解說一下源碼包和rpm包的區別,雖然不是全面的的但是是絕對正確的。


源碼包mysql的安裝rpm包與源碼包的區別

1.linux運行效率,高很多功能模塊針對linux開發,在windos上並沒有標準化得編程接口,很多功能並不能實現,

並且mysql apache php最早也是在linux上開發的發展的,第三方軟件多


2.軟件的選擇 不一定最新當時要選最穩定的

rpm與源代碼

rpm是開發人員再開發完軟件後的生成的二進制包 類似exe文件 但是有侷限性 不能定製 針對cpu平臺 linux版本

源碼包呢發行的時候是以源代碼的形式發行 對軟件足夠了解 甚至能改源碼 可以更深度定製



-----------------------------------------------

壇搭建過程源碼包安裝


源碼安裝過程

Mysql的源碼包安裝

tar -zxvf mysql-5.1.34.tar.gz -C /usr/local/src/

cd /usr/src/mysql-5.1.34

如果不存在mysql 用戶,則建立之

useradd mysql


編譯安裝

./configure --prefix=/usr/local/mysql --with-extra-charsets=all --with-innodb --with-plugins=partition

註解:

--with-extra-charsets=all:支持所有字符集

--with-innodb:支持innodb存儲引擎

--with-plugins=partition:支持分區



make && make install



數據庫的初始化:

cd /usr/local/mysql/bin

執行

./mysql_install_db


此命令是初始化腳本,爲Mysql運行做準備:來創建MySQL許可表。

此命令執行成功時會在/usr/local/mysql目錄下生成var目錄,如果執行失敗則有可能mysql用戶沒有創建,需要手工創建:useradd mysql,

再把系統的mysql卸載:rpm -e mysql。

cd /usr/local/

chown -R mysql: mysql mysql/

cd /usr/local/mysql/bin/


把my.cnf 改名字 (因爲新數據庫沒有任何文件的這是之前的文件)

mv /etc/my.cnf /etc/my.cnf.bak


rpm的創建庫的位置

cd /var/lib/mysql/

源碼包的創建庫的位置

cd /usr/local/mysql/var/



初始化數據庫更改權限

chown -R mysql:mysql /usr/local/mysql/var/


啓動mysql服務器.執行

cd /usr/local/mysql/bin/

./mysqld_safe --user=mysql &


查看進程

ps -ef | grep mysql



套節字文件是

進程和進程的連接



爲mysql數據庫添加密碼

默認的 mysql 已經存在一個root 用戶,密碼爲空


/usr/local/mysql/bin/mysqladmin password 123 創建密碼

/usr/local/mysql/bin/mysql -u root -p123 可以進入,用exit 退出 登錄的時候用的是/bin/mysql




將源碼mysql改成 正常啓動方式啓動 (把啓動腳本放到init.d裏)

cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqldd 設啓動相的時候用的是share/mysql/mysql.server


chkconfig --add mysqldd

chkconfig --list mysqldd

chkconfig --levels 35 mysqld on

service mysqldd restart




客戶端命令

修改/etc/bashrc文件


PATH=/usr/local/mysql/bin:$PATH

export PATH


重新加載一次

. /etc/bashrc 有個空格注意了, 也可以 bash /etc/bashrc 寫


可以連接數據了




------------------------------------





apache源碼包安裝

tar -jxvf httpd-2.2.11.tar.bz2 -C /usr/local/src/

cd /usr/local/src/httpd-2.2.11/


./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite


make && make install


cd /usr/local/apache2/htdocs/ 網頁路徑


lsof -i:80 查看80端口是否佔用


/usr/local/apache2/bin/apachectl start 啓動服務


cp bin/apachectl /etc/init.d/http 設置啓動


配置文件 可以配置信息

vim /usr/local/apache2/conf/ httpd.conf



命令歷史

history


--------------------------------------------



編譯php



tar -jxvf php-5.2.9.tar.bz2 -C /usr/local/src/

cd /usr/local/src/php-5.2.9/


./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/hanqinet/mysql51/ --with-config-file-path=/usr/local/php

註解:

--with-apxs2=/usr/local/apache2/bin/apxs:用apache的apxs工具把php編譯成apache的一個模塊

--with-mysql=/usr/local/mysql:與mysql結合


編譯安裝

make && make install


複製文件

cp /usr/local/src/php-5.2.9/php.ini-dist /usr/local/php/php.ini 自己定義的名字


如果一切順利的話,apache2/modules/ 下應該有個libphp5.so 的文件

爲apache 添加php 支持


編輯

/usr/local/apache2/conf/httpd.conf


在310行增加一行

307 AddType application/x-compress .Z

308 AddType application/x-gzip .gz .tgz

309 AddType application/x-httpd-php .php



DirectoryIndex指令的最後,

添加

165 <IfModule dir_module>

166 DirectoryIndex index.html index.php

167 </IfModule>



測試Apache及php支持

cd /usr/local/apache2/htdocs/

touch a.php

vim a.php

<? phpinfo() ?>


pkill httpd 殺掉之前的httpd

service http restart 重啓服務


訪問

http://192.168.1.113/a.php


-----------------------------------------

服務器端

unzip UCenter_1.5.0_SC_UTF8.zip

mv upload/ /usr/local/apache2/htdocs/ucenter

chown -R daemon:daemon /usr/local/apache2/htdocs/ucenter


訪問

http://192.168.1.113/ucenter


-------------


論壇

unzip Discuz_7.2_SC_UTF8.zip

mv upload/ /usr/local/apache2/htdocs/discuz

chown -R daemon:daemon /usr/local/apache2/htdocs/discuz

第一次進入安裝進入這個路徑

http://192.168.1.113/discuz/install/



------------------------------------


最後 來點mysql的介紹 ,對mysql感興趣的朋友可以看看,這個我承認不是我寫的資料(mysql的介紹)。但是爲了讓大家更瞭解mysql

還是添加上了。


mysql的介紹 其他數據庫的介紹

mysql 是開源的,免費得,體積小,併發執行的數據庫。mysql一般應用已經足夠,在異常處理等方面還有待提升,一邊用於網站設計和小型軟件的。PHP+mysql 被譽爲完美結合。

SQL server 是Microsoft 的數據,上手容易,簡單,非常適合新手。一般用於.net 程序設計


oracle 是大型的數據庫,體積打。可以支持多個實例同時運行,功能非常強大。



mysql在linux能充分發揮它的威力 (免費 跨平臺 輕 支持多併發)


mysql是目前最主流的 跨平臺的 開源的 關係型數據庫軟件 最早是由瑞典的mysqlAB公司所開發

08年被sun公司所收購,09年sun被oracle收購

由於mysql的體積小 150M oracle 900M 速度快 總體成本低 (免費 oracle20萬一個核)尤其是源代碼開放這一特點 使他成了很多中小網站爲了降低網站總體成本而選擇的數據庫


優點

1.使用c和c++編寫 保證源代碼的可移植性

2.支持多種操作系統 linx,mac os,freeBSD,windos,aix。。。

3.爲多種語言提供了api,包括(C C++ java php 。。。)

4.支持多線程,充分利用cpu資源

5.支持tcp/ip,ODBC和JDBC等多種數據的連接途徑

6.可以處理擁有上千萬條記錄的大型數據

7.支持多種存儲引擎

缺點

相對於oracle DB2 SQLserver來講

規模小,功能有限(mysql cluster的功能和效率比較差)


存儲引擎

MyISAMMysql的默認數據庫,最爲常用。擁有較高的插入,查詢速度,但不支持事務


InnoDB事務型數據庫的首選引擎,支持ACID事務,支持行級鎖定


BDB源自Berkeley DB,事務型數據庫的另一種選擇,支持COMMIT和ROLLBACK等其他事務特性


Memory所有數據置於內存的存儲引擎,擁有極高的插入,更新和查詢效率。但是會佔用和數據量成正比的內存空間。並且其內容會在Mysql重新啓動時丟失


Merge將一定數量的MyISAM表聯合而成一個整體,在超大規模數據存儲時很有用


Archive非常適合存儲大量的獨立的,作爲歷史記錄的數據。因爲它們不經常被讀取。Archive擁有高效的插入速度,但其對查詢的支持相對較差


Cluster/NDB高冗餘的存儲引擎,用多臺數據機器聯合提供服務以提高整體性能和安全性。適合數據量大,安全和性能要求高的應用


CSV邏輯上由逗號分割數據的存儲引擎BlackHole黑洞引擎,寫入的任何數據都會消失,一般用於記錄binlog做複製的中繼


EXAMPLE存儲引擎是一個不做任何事情的存根引擎。它的目的是作爲MySQL源代碼中的一個例子,用來演示如何開始編寫一個新存儲引擎。

同樣,它的主要興趣是對開發者。EXAMPLE存儲引擎不支持編索引。


將selinux 和 iptables 關閉

selinux 是linux對文件和功能管理的服務




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章