从零开始发布web项目(五)
?
1.1.?????? 上傳軟件
?
我的所有的軟件都是存放在/bak/software目錄下,可使用以下命令創(chuàng)建
mkdir –p /bak/software
?
然后可以使用Winscp將第二節(jié)準(zhǔn)備的軟件上傳到系統(tǒng)的這個(gè)目錄中
?
?
1.2.?????? 安裝軟件
?
1.2.1.?????????? 安裝mysql
?
這個(gè)是所有軟件中最麻煩的一個(gè)軟件,因?yàn)樾枰鞣N配置。
習(xí)慣性的,備份一下系統(tǒng)再安裝吧。
?
1.2.1.1.????? cmake
mysql5.5以上版本需要cmake編譯安裝,所以這里需要先安裝cmake。
?
#進(jìn)入軟件目錄
cd /bak/software
?
#解壓cmake源碼包目錄
tar -zxvf cmake-2.8.9.tar.gz
?
#進(jìn)入cmake目錄
cd cmake-2.8.9
?
#依次敲入一下命令進(jìn)行編譯安裝,三步驟
?
./bootstrap
gmake
gmake install
?
?
好了,接下來(lái)就可以安裝mysql了
?
1.2.1.2.????? mysql
?
#進(jìn)入軟件目錄
cd /bak/software
?
#解壓mysql
tar -zxvf mysql-5.5.27.tar.gz
?
#進(jìn)入mysql源碼包目錄
cd mysql-5.5.27
?
一樣是安裝三步驟,不過(guò)是使用cmake進(jìn)行安裝
?
注意,下面的cmake命令參數(shù)是我本機(jī)的安裝參數(shù),如想了解更詳細(xì)的cmake參數(shù),請(qǐng)參照mysql官方文檔:
http://dev.mysql.com/doc/internals/en/autotools-to-cmake.html
?
?
cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql-5.5.27 -DMYSQL_DATADIR=/data/mysql-5.5.27/data -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_DEBUG=0
make
make install
?
如果/opt/mysql-5.5.27目錄創(chuàng)建成功了,那就是mysql安裝成功了。
?
1.2.1.3.????? 創(chuàng)建執(zhí)行用戶(hù)
?
啟動(dòng)mysql進(jìn)程的最好還是不要用root用戶(hù)權(quán)限的比較好點(diǎn),所以這里需要?jiǎng)?chuàng)建一個(gè)專(zhuān)門(mén)啟動(dòng)mysql的賬戶(hù)。
?
?
# 創(chuàng)建用戶(hù)組
groupadd mysql
?
# 創(chuàng)建mysql用戶(hù),并把用戶(hù)放入mysql組中
useradd –g mysql mysql
?
# 加入寫(xiě)權(quán)限,/opt/mysql-5.5.27為mysql安裝根目錄
chmod +w /opt/mysql-5.5.27
?
# mysql根目錄為mysql用戶(hù)授予所有權(quán)限
chown –R mysql:mysql /opt/mysql-5.5.27
?
?
1.2.1.4.????? 創(chuàng)建數(shù)據(jù)庫(kù)存放目錄
?
因?yàn)樵谏厦娴陌惭bmysql時(shí)候,指定了其他目錄為數(shù)據(jù)庫(kù)目錄,所以要?jiǎng)?chuàng)建
?
# 創(chuàng)建mysql的數(shù)據(jù)庫(kù)存放目錄
mkdir –p /data/mysql-5.5.27/data
?
# mysql數(shù)據(jù)庫(kù)目錄為mysql用戶(hù)授予所有權(quán)限
chown –R mysql:mysql /data/mysql-5.5.27/data
?
1.2.1.5.????? 初始化
?
mysql的默認(rèn)配置文件my.cnf是不存在的,需要我們自定義的
?
# 復(fù)制原有配置文件
cp /bak/software/mysql-5.5.27/support-files/my-medium.cnf /opt/mysql-5.5.27/my.cnf
?
注意:my-medium.cnf文件是mysql的默認(rèn)配置文件之一。其他幾個(gè)問(wèn)及那的區(qū)別見(jiàn)下表:
選擇符合自己服務(wù)器的默認(rèn)配置來(lái)做我們mysql的現(xiàn)有配置
?
| 文件名 | 描述 |
| my-small.cnf | 最低內(nèi)存配置。適用于小于等于64M內(nèi)存的系統(tǒng),占用較少資源 |
| my-medium.cnf | 中等配置。適用于只有32~64M可用內(nèi)存的系統(tǒng)使用,或者128M且運(yùn)行了其他服務(wù)的系統(tǒng),例如web服務(wù) |
| my-large.cnf | 大配置。適用于有512M內(nèi)存的系統(tǒng)。專(zhuān)門(mén)的mysql服務(wù)器 |
| my-huge.cnf | 更大配置。適用于內(nèi)存在1G~2G之間的系統(tǒng)。 |
| my-innodb-heavy-4G.cnf | 專(zhuān)為innodb架構(gòu)優(yōu)化的配置。最少要求內(nèi)存為4G的系統(tǒng) |
?
當(dāng)然了,專(zhuān)門(mén)的dba會(huì)對(duì)這些參數(shù)進(jìn)行逐項(xiàng)優(yōu)化配置,使用哪個(gè)默認(rèn)配置是沒(méi)任何關(guān)系的。
?
# 修改配置文件
打開(kāi) /opt/mysql-5.5.27/my.cnf修改或加入以下參數(shù)(在[mysqld]節(jié)點(diǎn)下)
?
basedir = /opt/mysql-5.5.27
datadir = /data/mysql-5.5.27/data
user = mysql
?
保存文件,繼續(xù)下步操作
?
# 授予當(dāng)前用戶(hù)執(zhí)行該文件的權(quán)限
chmod +x /bak/software/mysql-5.5.27/scripts/mysql_install_db
?
?
# 執(zhí)行初始化腳本
# 這個(gè)腳本主要是創(chuàng)建mysql、test等數(shù)據(jù)庫(kù),還初始化了root賬戶(hù),這一部應(yīng)該還是很重要的。
/bak/software/mysql-5.5.27/scripts/mysql_install_db --defaults-file=/opt/mysql-5.5.27/my.cnf --basedir=/opt/mysql-5.5.27 --datadir=/data/mysql-5.5.27/data --user=mysql
?
?
OK,初始化成功
?
# 復(fù)制服務(wù)文件
cp /bak/software/mysql-5.5.27/support-files/mysql.server /etc/init.d/mysqld
?
# 授予服務(wù)文件的執(zhí)行權(quán)限
chmod +x /etc/init.d/mysqld
?
# 修改服務(wù)文件
打開(kāi) /etc/init.d/mysqld文件,修改或加入以下變量
?
basedir=/opt/mysql-5.5.27
datadir=/data/mysql-5.5.27/data
defaults_file=$basedir/my.cnf
?
查找“$bindir/mysqld_safe --datadir="$datadir"…”的字符串,在“$bindir/mysqld_safe”后面加上“--defaults-file="$defaults_file"”,整個(gè)字符串變成“$bindir/mysqld_safe --defaults-file="$defaults_file" --datadir="$datadir"…”。保存文件
?
注意:如果想自己寫(xiě)的my.cnf自定義配置起作用,就需要在mysqld_safe的啟動(dòng)參數(shù)后面跟上配置文件,不然mysql啟動(dòng)了還是采用默認(rèn)配置的。
?
# 如果想mysqld服務(wù)隨機(jī)啟動(dòng),可以依次打入下面的兩行命令。
chkconfig --add mysqld
chkconfig --level 345 mysqld on
?
?
不過(guò)我沒(méi)有加入服務(wù)列表,因?yàn)槲疫@臺(tái)服務(wù)器還有tomcat跟nginx需要隨系統(tǒng)啟動(dòng),mysql必須保證在它們兩個(gè)之前啟動(dòng),如果采用服務(wù)啟動(dòng)的話,我不知道能不能保證,就沒(méi)有加入服務(wù)列表了
?
1.2.1.6.????? 測(cè)試
?
到這里,mysql數(shù)據(jù)庫(kù)就可以說(shuō)是安裝完成了,這時(shí)候測(cè)試下,看能不能登錄mysql
?
# 啟動(dòng)mysql服務(wù)
service mysqld start
?
?
# 嘗試登錄mysql
?
?
1.2.1.7.????? 其他
?
因?yàn)槲疫@個(gè)是web服務(wù)器,數(shù)據(jù)庫(kù)就本機(jī)能訪問(wèn)就好了,所以需要在my.cnf里加入以下配置,這樣就能保證mysql只能在本機(jī)訪問(wèn),局域網(wǎng)和外網(wǎng)都訪問(wèn)不了。(其實(shí)iptables已經(jīng)做到這一點(diǎn),我這里設(shè)置不知道是不是多余)
?
# 在my.cnf 文件的[mysqld]節(jié)點(diǎn)加入以下參數(shù)
?
bind-address = localhost
?
這樣就只能本機(jī)訪問(wèn)mysql了。
?
?
還有一點(diǎn)就是mysql的賬號(hào)root的密碼是要改一下的了
?
OK,到此。mysql就安裝完成了。
?
轉(zhuǎn)載于:https://blog.51cto.com/hviki/980234
總結(jié)
以上是生活随笔為你收集整理的从零开始发布web项目(五)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ios学习记录 UITextField
- 下一篇: Exchange2010配置实验(七)D