h1. MySQL5.1.53編譯,安裝配置
Debian4下安裝MySql5.1.53
h2. 編譯
<pre>
./configure '--prefix=/usr/local/mysql5.1.53' '--with-mysqld-user=mysql' '--with-extra-charsets=all' '--with-unix-socket-path=/usr/local/mysql5.1.53/var/mysql.sock' '--with-named-curses-libs=/lib/libncurses.so.5' '--enable-assembler'
</pre>
h2. 安裝
<pre>
make && make install
</pre>
h2. 初始化數(shù)據(jù)庫
剛剛編譯安裝完成的mysql中沒有任何數(shù)據(jù)庫,包括默認(rèn)的mysql數(shù)據(jù)庫,這個(gè)需要初始化安裝。
命令如下
<pre>
/usr/local/mysql5.1.53/bin/mysql_install_db
</pre>
h2. 配置
h3. 創(chuàng)建配置文件
我們把/usr/local/mysql5.1.53/share/mysql這個(gè)目錄下的my-medium.cnf,復(fù)制為my.cnf到mysql安裝目錄
做如下修改
在[mysqld] 配置塊中加入
skip-name-resolve #取消DNS反向解析,提高遠(yuǎn)程訪問速度
_詳細(xì)內(nèi)容,參考57上的my.cnf吧_
h3. 啟動(dòng)&停止
* 啟動(dòng)
<pre>
/usr/local/mysql5.1.53/bin/mysqld_safe --user=root &
</pre>
* 停止
<pre>
/usr/local/mysql5.1.53/share/mysql/mysql.server stop
</pre>
h3. 進(jìn)入mysql命令行
<pre>
/usr/local/mysql5.1.53/bin/mysql -uroot
</pre>
h3. 開啟遠(yuǎn)程訪問
# 配置cnf文件
找到你的my.cnf文件(如果用debian提供的mysql,在/etc/mysql/my.cnf)
查找 bind-address,等號后邊寫server的IP地址
# 在mysql命令行執(zhí)行下列命令
<pre>
GRANT ALL PRIVILEGES ON *.* TO 'depman'@'%' IDENTIFIED BY 'depman' WITH GRANT OPTION;
</pre>
說明 : 添加depman用戶,密碼為depman,可以在任何遠(yuǎn)程機(jī)器訪問數(shù)據(jù)庫且擁有全部權(quán)限
h3. 添加InnoDB支持
# 進(jìn)入mysql命令行
# mysql> show plugin;
查看是否有InnoDB的支持,沒有的話
# mysql> install plugin innodb soname "ha_innodb.so";
# 再次執(zhí)行mysql> show plugin;發(fā)現(xiàn)有InnoDB,安裝成功
h3. 數(shù)據(jù)移植
* 備份57上的kebin數(shù)據(jù)庫(sql文件)
<pre>
/usr/local/mysql5.1.53/bin/mysqldump --skip-lock-tables -h192.168.12.57 -uroot -proot kebin > kebin.sql
</pre>
* 導(dǎo)入剛才生成的sql文件到kebin數(shù)據(jù)庫
<pre>
/usr/local/mysql5.1.53/bin/mysql kebin < kebin.sql
</pre>
* 從ServerA到ServerB遷移數(shù)據(jù)
<pre>
/usr/local/mysql5.1.53/bin/mysqldump --skip-lock-tables -uroot -proot kebin | /usr/local/mysql5.1.53/bin/mysql -h192.168.12.58 -udepman -pdepman kebin
</pre>
Linux install
Linux install
①安裝VBox
\\192.168.12.200\install\VBox\VirtualBox-4.0.6-71416-Win.exe
②通過VBox安裝Linux虛擬機(jī)
Linux系統(tǒng)映像保存于下面的路徑下
\\192.168.12.200\debian4_iso
③通過VBox進(jìn)入Linux操作系統(tǒng)
通過下面的命令查看當(dāng)前IP狀態(tài),并修改為靜態(tài)IP
vim /etc/network/interfaces
若修改,鍵入字母「i」即進(jìn)入可編輯狀態(tài),修正后Esc退出編輯狀態(tài),鍵入「:wq」保存并退出
靜態(tài)IP例:
allow-hotplug eth1
#iface eth1 inet dhcp
iface eth1 inet static
address 192.168.12.189
netmask 255.255.255.0
gateway 192.168.12.1
重啟網(wǎng)卡:
/etc/init.d/networking stop
/etc/init.d/networking start
④輸入ifconfig查看修正后的ip狀態(tài)
查看該虛擬機(jī)是否能夠ping通自己的機(jī)器
⑤配置Linux虛擬光驅(qū)路徑
通過命令:「vim /etc/init.d/donkey_service」新建文件donkey_service
編輯文件:
# mount window share folder to /mnt/debian4_iso
mount -t cifs //192.168.12.200/debian4_iso -o username="remote",password="abcd@1234" /mnt/debian4_iso
mount -t cifs //192.168.12.200/install -o username="remote",password="abcd@1234" /mnt/nas_share
# mount debian4 iso
mount -t iso9660 -o loop /mnt/debian4_iso/debian-4.0.0-i386-DVD-1.iso /mnt/debian4/dvd01
mount -t iso9660 -o loop /mnt/debian4_iso/debian-4.0.0-i386-DVD-2.iso /mnt/debian4/dvd02
mount -t iso9660 -o loop /mnt/debian4_iso/debian-4.0.0-i386-DVD-3.iso /mnt/debian4/dvd03
mount -t iso9660 -o loop /mnt/debian4_iso/debian-4.0.0-i386-DVD-4.iso /mnt/debian4/dvd04
執(zhí)行文件:sh donkey_service
注:新建虛擬機(jī)的網(wǎng)卡沒有訪問200的權(quán)限,可以把debian4拷貝到本機(jī)一文件夾下,共享該文件夾
⑥安裝ssh-server
安裝后就可以使用putty鏈接,操作。
aptitude install ssh-server
⑦安裝Linux必要軟件
aptitude install make -- 編譯用
⑧apache,php,mysql安裝前準(zhǔn)備
Linux下用軟件安裝包保存位置:
\\192.168.12.200\software\install\linux\httpd-2.2.9.tar.gz
\\192.168.12.200\software\install\linux\mysql-5.1.53.tar.gz
\\192.168.12.200\software\install\linux\php-5.2.5.tar.gz
可通過FileZilla軟件,把上面的軟件包c(diǎn)opy到Linux虛擬機(jī)上
\\192.168.12.200\software\progrem\FileZilla-3.0.9.
創(chuàng)建軟件包的保存位置和安裝路徑文件夾
例: mkdir /opt/soft -- 上面各個(gè)軟件包c(diǎn)opy到此
mkdir /opt/build -- 安裝軟件時(shí)的安裝路徑
①解壓Apache
進(jìn)入到該安裝包的保存路徑后,通過下面的命令進(jìn)行解壓(解壓位置: ../bulid/)
tar zxvf httpd-2.2.9.tar.gz -C ../bulid/
②編譯
./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-mods-shared --enable-ssl
make
③安裝
make install
④查看是否安裝成功
/usr/local/apache2/bin/httpd -k start --啟動(dòng)Apache
lsof -i:80 --查看80端口狀態(tài),如果80端口有值,安裝成功
注:編譯或安裝過程中可能會(huì)因缺少某些文件而導(dǎo)致error
則根據(jù)error提示的信息,先安裝缺少的文件再重新編譯安裝
error例;
configure: error: ...No recognized SSL/TLS toolkit detected
通過命令 「aptitude search 查找內(nèi)容」查找相應(yīng)的文件
通過命令 「aptitude install 安裝文件名」進(jìn)行安裝
mysql install
①解壓MySql安裝包
進(jìn)入到該安裝包的保存路徑后,通過下面的命令進(jìn)行解壓(解壓位置: ../bulid/)
tar zxvf mysql-5.1.53.tar.gz -C ../bulid/
②編譯
進(jìn)入到解壓后的文件夾下
安裝mysql前需要安裝一些linux系統(tǒng)軟件
aptitude install lib64ncurses5-dev OR libncurses5-dev
aptitude install g++
aptitude install automake
aptitude install autoconf2.13
autoreconf --force --install
aclocal; autoheader
libtoolize --automake --force
automake --force --add-missing; autoconf
編譯MySql,安裝到/usr/local/mysql-5.1.53
./configure '--prefix=/usr/local/mysql-5.1.53' '--with-mysqld-user=mysql' '--with-extra-charsets=all' '--with-named-curses-libs=/lib/libncurses.so.5' '--enable-assembler' '--with-charset=utf8'
make
③安裝
make install
④添加權(quán)限
groupadd mysql
useradd mysql -g mysql
./scripts/mysql_install_db --user=mysql
注:
mysql_install_db出現(xiàn)FATAL ERROR: Could not find mysqld錯(cuò)誤時(shí),
因?yàn)?etc/mysql/下出現(xiàn)了個(gè)my.cnf
解決方法:
mv /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
cp support-files/my-medium.cnf /etc/cnf
cd /usr/local/mysql-5.1.53/
chown -R root .
chown -R mysql var
chown -R mysql var/.
chown -R mysql var/mysql/.
chgrp -R mysql .
⑤運(yùn)行并查看是否安裝成功
/usr/local/mysql-5.1.39/bin/mysqld_safe --user=mysql &
lsof -i:3306 --查看3306端口是否是mysql在運(yùn)行。
./bin/mysql -root
exit --退出mysql
⑥修改mysql密碼
/usr/local/mysql-5.1.53/bin/mysqladmin -uroot password root
./bin/mysql -uroot -p --再次登錄
root --密碼
⑦添加別人能夠訪問的權(quán)限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
use mysql;
mysql> select User,host from user;
+------+-----------+
| User | host |
+------+-----------+
| root | % |
| root | 127.0.0.1 |
| | camp |
| root | camp |
| | localhost |
| root | localhost |
+------+-----------+
6 rows in set (0.00 sec)
注:編譯或安裝過程中可能會(huì)因缺少某些文件而導(dǎo)致error
則根據(jù)error提示的信息,先安裝缺少的文件再重新編譯安裝
error例;
checking for termcap functions library... configure: error: No curses/termcap library found
安裝install lib64ncurses5-dev后則此錯(cuò)誤就可避免
通過命令 「aptitude search 查找內(nèi)容」查找相應(yīng)的文件
Php install
①解壓PHP
進(jìn)入到該安裝包的保存路徑后,通過下面的命令進(jìn)行解壓(解壓位置: ../bulid/)
tar zxvf php-5.2.5 -C ../bulid/
②安裝前,安裝一下必要的軟件
apt-get install libmm-dev
aptitude install libxml2-dev
②編譯
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql-5.1.53
make
make test
③安裝
make install
④如果報(bào)錯(cuò)libphp5.so找不到的話,執(zhí)行下面的命令
find -name "libphp5.so" --查找
找到后進(jìn)到該目錄下,把此文件copy到/usr/local/apache2/modules/下
cp -p libphp5.so /usr/local/apache2/modules/
⑤查看是否安裝成功
如果安裝成功 執(zhí)行php -v 會(huì)顯示php的版本信息
注:編譯或安裝過程中可能會(huì)因缺少某些文件而導(dǎo)致error
則根據(jù)error提示的信息,先安裝缺少的文件再重新編譯安裝
通過命令 「aptitude search 查找內(nèi)容」查找相應(yīng)的文件
通過命令 「aptitude install 安裝文件名」進(jìn)行安裝
Configure ssl
①制作證書
1) 首先確認(rèn)OpenSSL已經(jīng)被正確安裝,并且openssl可執(zhí)行文件位于PATH環(huán)
境變量所包含的目錄中。
2) 創(chuàng)建一個(gè)RSA私鑰文件(這里的例子使用3DES加密并封裝為PEM格式):
$ openssl genrsa -des3 -out server.key 1024
請務(wù)必將你輸入的密語和server.key文件備份到一個(gè)安全的地方。你可以使用下面
的命令查看這個(gè)RSA私鑰的詳細(xì)信息:
$ openssl rsa -noout -text -in server.key
如果確有必要,你也可以為這個(gè)RSA私鑰創(chuàng)建一個(gè)已解密的PEM版本(不推薦):
$ openssl rsa -in server.key -out server.key.unsecure
3) 使用你剛才創(chuàng)建的RSA私鑰創(chuàng)建一個(gè)自簽名的X509證書(PEM格式):
$ openssl req -new -x509 -nodes -sha1 -days 365 -key server.key -out server.crt
這將對服務(wù)器的CSR進(jìn)行簽名,并將生成一個(gè)server.crt文件。
可以使用下面的命令查看這個(gè)證書的詳細(xì)信息:
$ openssl x509 -noout -text -in server.crt
② 打開apache的ssl支持
打開/usr/local/apache2.2.18/conf/httpd.conf下面兩句的注釋
#Include conf/extra/httpd-ssl.conf
打開/usr/local/apache2.2.18/conf/extra/httpd-ssl.conf找到
SSLMutex "file:/usr/local/apache2.2.18/logs/ssl_mutex"改成
SSLMutex default
進(jìn)入到該安裝包的保存路徑后,通過下面的命令進(jìn)行解壓(解壓位置: ../bulid/)
tar zxvf mysql-5.1.53.tar.gz -C ../bulid/
②編譯
進(jìn)入到解壓后的文件夾下
安裝mysql前需要安裝一些linux系統(tǒng)軟件
aptitude install lib64ncurses5-dev OR libncurses5-dev
aptitude install g++
aptitude install automake
aptitude install autoconf2.13
autoreconf --force --install
aclocal; autoheader
libtoolize --automake --force
automake --force --add-missing; autoconf
編譯MySql,安裝到/usr/local/mysql-5.1.53
./configure '--prefix=/usr/local/mysql-5.1.53' '--with-mysqld-user=mysql' '--with-extra-charsets=all' '--with-named-curses-libs=/lib/libncurses.so.5' '--enable-assembler' '--with-charset=utf8'
make
③安裝
make install
④添加權(quán)限
groupadd mysql
useradd mysql -g mysql
./scripts/mysql_install_db --user=mysql
注:
mysql_install_db出現(xiàn)FATAL ERROR: Could not find mysqld錯(cuò)誤時(shí),
因?yàn)?etc/mysql/下出現(xiàn)了個(gè)my.cnf
解決方法:
mv /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
cp support-files/my-medium.cnf /etc/cnf
cd /usr/local/mysql-5.1.53/
chown -R root .
chown -R mysql var
chown -R mysql var/.
chown -R mysql var/mysql/.
chgrp -R mysql .
⑤運(yùn)行并查看是否安裝成功
/usr/local/mysql-5.1.39/bin/mysqld_safe --user=mysql &
lsof -i:3306 --查看3306端口是否是mysql在運(yùn)行。
./bin/mysql -root
exit --退出mysql
⑥修改mysql密碼
/usr/local/mysql-5.1.53/bin/mysqladmin -uroot password root
./bin/mysql -uroot -p --再次登錄
root --密碼
⑦添加別人能夠訪問的權(quán)限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
use mysql;
mysql> select User,host from user;
+------+-----------+
| User | host |
+------+-----------+
| root | % |
| root | 127.0.0.1 |
| | camp |
| root | camp |
| | localhost |
| root | localhost |
+------+-----------+
6 rows in set (0.00 sec)
注:編譯或安裝過程中可能會(huì)因缺少某些文件而導(dǎo)致error
則根據(jù)error提示的信息,先安裝缺少的文件再重新編譯安裝
error例;
checking for termcap functions library... configure: error: No curses/termcap library found
安裝install lib64ncurses5-dev后則此錯(cuò)誤就可避免
通過命令 「aptitude search 查找內(nèi)容」查找相應(yīng)的文件
通過命令 「aptitude install 安裝文件名」進(jìn)行安裝
打開Editplus,選擇 工具=》配置用戶工具,就用當(dāng)前的默認(rèn)組好了。單擊“添加工具”選擇第一個(gè)子項(xiàng)“程序”,取個(gè)名字給它,“PhpDebug”吧。在命令中瀏覽到php.exe的位置,參數(shù)選擇為“文件路徑”,這時(shí)我的界面上兩個(gè)輸入框中分別為“D:\usr\php.exe”和“ '$(FilePath)' ”。然后勾選“捕捉輸出”。
注意了,綠色部分.參數(shù)選擇為“文件路徑”時(shí),默認(rèn)是$(FilePath)沒有雙引號的.要手工加上把它包圍了. 然后點(diǎn)擊 “輸出模式”,進(jìn)行進(jìn)一步的設(shè)置。在彈出的 “輸出模式” 對話框中,我們要去掉 “使用默認(rèn)輸出模式”。在正則表達(dá)式的文本框中填入“^.+ in (.+) on line ([0-9]+)”。文件名:標(biāo)記表達(dá)式1,行:標(biāo)記表達(dá)式2,列:無。
這里的正則表達(dá)式和PHP 中的是一樣的,目的是捕捉出錯(cuò)行的信息,將文件名和行數(shù)傳遞給Editplus,這樣我們雙擊出錯(cuò)信息時(shí),就可以定位到出錯(cuò)的行了。
添加函數(shù)的即時(shí)幫助功能
打開 工具 =》 配置用戶工具。點(diǎn)擊 用戶工具=》添加工具 ,選擇 “HTML 幫助文件”,在彈出的對話框中選擇php 的chm 格式的手冊。然后在 “菜單文字” 處填上 “php 手冊”,點(diǎn)確定后幫助功能就已經(jīng)添加好了。
把光標(biāo)移動(dòng)在一個(gè)函數(shù)上函數(shù)上,點(diǎn)擊 工具 (或者我們可以在視圖中構(gòu)選用戶工具欄), “php 手冊”。這時(shí)Editplus 會(huì)自動(dòng)打開手冊,并定位到你選擇的函數(shù)的頁面。當(dāng)然,使用快捷鍵是更方便的方法,快捷鍵會(huì)因?yàn)樘砑拥捻樞虿煌煌聪虏藛尉颓宄恕?/font>
利用預(yù)覽功能隨時(shí)進(jìn)行測試
點(diǎn)擊“工具”->“參數(shù)設(shè)置”->“選擇工具” ,點(diǎn)擊添加 , 可以為你的文件進(jìn)行定位。就是說,可以自動(dòng)把放在web 目錄下的文件路徑,映射成http 開頭的web 路徑,并傳遞給Editplus 自帶的瀏覽器。這樣我們就不用總是在瀏覽器和編輯器之間切換了。
使用forward的時(shí)候?yàn)g覽器不知道它所請求的具體資源來源,所以地址欄不會(huì)變; 使用redirect,服務(wù)端根據(jù)邏輯,發(fā)送一個(gè)狀態(tài)碼,告訴瀏覽器重新去請求那個(gè)地址.所以地址欄顯示的是新的URL。 forward,轉(zhuǎn)發(fā)頁面和轉(zhuǎn)發(fā)到的頁面可以共享request里面的數(shù)據(jù). redirect,不能共享數(shù)據(jù).