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. 初始化數據庫
剛剛編譯安裝完成的mysql中沒有任何數據庫,包括默認的mysql數據庫,這個需要初始化安裝。
命令如下
<pre>
/usr/local/mysql5.1.53/bin/mysql_install_db
</pre>
h2. 配置
h3. 創建配置文件
我們把/usr/local/mysql5.1.53/share/mysql這個目錄下的my-medium.cnf,復制為my.cnf到mysql安裝目錄
做如下修改
在[mysqld] 配置塊中加入
skip-name-resolve #取消DNS反向解析,提高遠程訪問速度
_詳細內容,參考57上的my.cnf吧_
h3. 啟動&停止
* 啟動
<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. 進入mysql命令行
<pre>
/usr/local/mysql5.1.53/bin/mysql -uroot
</pre>
h3. 開啟遠程訪問
# 配置cnf文件
找到你的my.cnf文件(如果用debian提供的mysql,在/etc/mysql/my.cnf)
查找 bind-address,等號后邊寫server的IP地址
# 在mysql命令行執行下列命令
<pre>
GRANT ALL PRIVILEGES ON *.* TO 'depman'@'%' IDENTIFIED BY 'depman' WITH GRANT OPTION;
</pre>
說明 : 添加depman用戶,密碼為depman,可以在任何遠程機器訪問數據庫且擁有全部權限
h3. 添加InnoDB支持
# 進入mysql命令行
# mysql> show plugin;
查看是否有InnoDB的支持,沒有的話
# mysql> install plugin innodb soname "ha_innodb.so";
# 再次執行mysql> show plugin;發現有InnoDB,安裝成功
h3. 數據移植
* 備份57上的kebin數據庫(sql文件)
<pre>
/usr/local/mysql5.1.53/bin/mysqldump --skip-lock-tables -h192.168.12.57 -uroot -proot kebin > kebin.sql
</pre>
* 導入剛才生成的sql文件到kebin數據庫
<pre>
/usr/local/mysql5.1.53/bin/mysql kebin < kebin.sql
</pre>
* 從ServerA到ServerB遷移數據
<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
①安裝VBox
\\192.168.12.200\install\VBox\VirtualBox-4.0.6-71416-Win.exe
②通過VBox安裝Linux虛擬機
Linux系統映像保存于下面的路徑下
\\192.168.12.200\debian4_iso
③通過VBox進入Linux操作系統
通過下面的命令查看當前IP狀態,并修改為靜態IP
vim /etc/network/interfaces
若修改,鍵入字母「i」即進入可編輯狀態,修正后Esc退出編輯狀態,鍵入「:wq」保存并退出
靜態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
重啟網卡:
/etc/init.d/networking stop
/etc/init.d/networking start
④輸入ifconfig查看修正后的ip狀態
查看該虛擬機是否能夠ping通自己的機器
⑤配置Linux虛擬光驅路徑
通過命令:「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
執行文件:sh donkey_service
注:新建虛擬機的網卡沒有訪問200的權限,可以把debian4拷貝到本機一文件夾下,共享該文件夾
⑥安裝ssh-server
安裝后就可以使用putty鏈接,操作。
aptitude install ssh-server
⑦安裝Linux必要軟件
aptitude install make -- 編譯用
⑧apache,php,mysql安裝前準備
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軟件,把上面的軟件包copy到Linux虛擬機上
\\192.168.12.200\software\progrem\FileZilla-3.0.9.
創建軟件包的保存位置和安裝路徑文件夾
例: mkdir /opt/soft -- 上面各個軟件包copy到此
mkdir /opt/build -- 安裝軟件時的安裝路徑
①解壓Apache
進入到該安裝包的保存路徑后,通過下面的命令進行解壓(解壓位置: ../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 --啟動Apache
lsof -i:80 --查看80端口狀態,如果80端口有值,安裝成功
注:編譯或安裝過程中可能會因缺少某些文件而導致error
則根據error提示的信息,先安裝缺少的文件再重新編譯安裝
error例;
configure: error: ...No recognized SSL/TLS toolkit detected
通過命令 「aptitude search 查找內容」查找相應的文件
通過命令 「aptitude install 安裝文件名」進行安裝
mysql install
①解壓MySql安裝包
進入到該安裝包的保存路徑后,通過下面的命令進行解壓(解壓位置: ../bulid/)
tar zxvf mysql-5.1.53.tar.gz -C ../bulid/
②編譯
進入到解壓后的文件夾下
安裝mysql前需要安裝一些linux系統軟件
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
④添加權限
groupadd mysql
useradd mysql -g mysql
./scripts/mysql_install_db --user=mysql
注:
mysql_install_db出現FATAL ERROR: Could not find mysqld錯誤時,
因為/etc/mysql/下出現了個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 .
⑤運行并查看是否安裝成功
/usr/local/mysql-5.1.39/bin/mysqld_safe --user=mysql &
lsof -i:3306 --查看3306端口是否是mysql在運行。
./bin/mysql -root
exit --退出mysql
⑥修改mysql密碼
/usr/local/mysql-5.1.53/bin/mysqladmin -uroot password root
./bin/mysql -uroot -p --再次登錄
root --密碼
⑦添加別人能夠訪問的權限
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)
注:編譯或安裝過程中可能會因缺少某些文件而導致error
則根據error提示的信息,先安裝缺少的文件再重新編譯安裝
error例;
checking for termcap functions library... configure: error: No curses/termcap library found
安裝install lib64ncurses5-dev后則此錯誤就可避免
通過命令 「aptitude search 查找內容」查找相應的文件
Php install
①解壓PHP
進入到該安裝包的保存路徑后,通過下面的命令進行解壓(解壓位置: ../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
④如果報錯libphp5.so找不到的話,執行下面的命令
find -name "libphp5.so" --查找
找到后進到該目錄下,把此文件copy到/usr/local/apache2/modules/下
cp -p libphp5.so /usr/local/apache2/modules/
⑤查看是否安裝成功
如果安裝成功 執行php -v 會顯示php的版本信息
注:編譯或安裝過程中可能會因缺少某些文件而導致error
則根據error提示的信息,先安裝缺少的文件再重新編譯安裝
通過命令 「aptitude search 查找內容」查找相應的文件
通過命令 「aptitude install 安裝文件名」進行安裝
Configure ssl
①制作證書
1) 首先確認OpenSSL已經被正確安裝,并且openssl可執行文件位于PATH環
境變量所包含的目錄中。
2) 創建一個RSA私鑰文件(這里的例子使用3DES加密并封裝為PEM格式):
$ openssl genrsa -des3 -out server.key 1024
請務必將你輸入的密語和server.key文件備份到一個安全的地方。你可以使用下面
的命令查看這個RSA私鑰的詳細信息:
$ openssl rsa -noout -text -in server.key
如果確有必要,你也可以為這個RSA私鑰創建一個已解密的PEM版本(不推薦):
$ openssl rsa -in server.key -out server.key.unsecure
3) 使用你剛才創建的RSA私鑰創建一個自簽名的X509證書(PEM格式):
$ openssl req -new -x509 -nodes -sha1 -days 365 -key server.key -out server.crt
這將對服務器的CSR進行簽名,并將生成一個server.crt文件。
可以使用下面的命令查看這個證書的詳細信息:
$ 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