centos5.8安装mysql_Centos5.8上面用Shell脚本一键安装mysql5.5.25源码包
最近在研究mysql集群,至少要安裝部署2臺(tái)或者多臺(tái)mysql數(shù)據(jù)庫(kù),操作起來(lái)即麻煩又很耗時(shí),今天根據(jù)安裝步驟寫(xiě)了一個(gè)Shell腳本,只需執(zhí) 行以下腳本就可以快速安裝mysql數(shù)據(jù)庫(kù),對(duì)初學(xué)者或者想學(xué)習(xí)mysql集群的朋友非常方便,即省時(shí),又省力。
操作系統(tǒng)及其mysql配置文件說(shuō)明:
Linux系統(tǒng):Centos5.8
mysql:mysql-5.5.25tar.gz源碼包
安裝目錄:/usr/local/mysql/
數(shù)據(jù)目錄:/data/mysql/3306/data/
二進(jìn)制日志:/data/msyql/3306/binlog/
relay日志:/data/mysql/3306/relaylog/
配置文件:/data/mysql/3306/my.cnf
mysql.sock文件:/data/mysql/3306/mysql.sock
下面是我編寫(xiě)的一鍵安裝mysql數(shù)據(jù)庫(kù)的腳本,如有不對(duì)的地方請(qǐng)多多指教。[root@DB148?sh]#?cat?mysql_install_new_version.sh
#!/bin/bash
#創(chuàng)作日期:2012.6.16
#作者:張世鋒
#Mysql?install?directory?and?configuration?files.
MYSQL_DIR="/data/software"
DATA_DIR="/data/mysql/3306/data"
BASE_DIR="/usr/local/mysql"
echo?"please?input?mysql?version:"
read??VERSION
echo?"Your?mysql?version?is?mysql-$VERSION.tar.gz"
if?[?-e?"$MYSQL_DIR/mysql-$VERSION.tar.gz"?]
then
echo?"Please?waitting..."
sleep?3
#Install?mysql?package?dependent.
yum?-y?install?gcc?gcc-c++?gcc-g77?autoconf?automake?openssl?zlib*?fiex**?libxml*?\
ncurses-devel?libmcrypt*?libtool-ltdl-devel*?&&
#Install?cmake.
echo?"The?system?is?be?installed?cmake,please?waitting..."
sleep?3
tar?-zxvf?$MYSQL_DIR/cmake-2.8.8.tar.gz?-C?$MYSQL_DIR?&&
cd?$MYSQL_DIR/cmake-2.8.8?&&
./configure?\
--prefix=/usr/local/cmake?&&
make?&&?make?install?&&
#creating?mysql?account?and?group.
/usr/sbin/groupadd?mysql?&&
/usr/sbin/useradd?-s?/sbin/nologin?-g?mysql?-M?mysql?&&
#Install?mysql.
tar?-zxvf?$MYSQL_DIR/mysql-$VERSION.tar.gz?-C?$MYSQL_DIR
cd?$MYSQL_DIR/mysql-$VERSION
echo?"PATH=$PATH:/usr/local/cmake/bin"?>>?/etc/profile?&&?source?/etc/profile
cmake?\
$MYSQL_DIR/mysql-$VERSION
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql?\
-DYSQL_TCP_PORT=3306?\
-DMYSQL_DATADIR=$DATA_DIR?\
-DMYSQL_UNIX_ADDR=/data/mysql/3306/mysql.sock?\
-DWITH_MYISAM_STORAGE_ENGINE=1?\
-DWITH_INNOBASE_STORAGE_ENGINE=1?\
-DDEFAULT_CHARSET=utf8?\
-DDEFAULT_COLLATION=utf8_general_ci?\
-DEXTRA_CHARSETS=all?\
-DWITH_DEBUG=0
make?&&?make?install?&&
mkdir?-p?$DATA_DIR
mkdir?-p?`dirname?$DATA_DIR`/binlog
mkdir?-p?`dirname?$DATA_DIR`/relaylog
cp?$MYSQL_DIR/mysql-$VERSION/support-files/my-small.cnf.sh?`dirname?$DATA_DIR`/my.cnf
cp?$MYSQL_DIR/mysql-$VERSION/support-files/mysql.server.sh?/etc/init.d/mysqld
chmod?+x?/etc/init.d/mysqld
sed?-i?'s/^basedir=/basedir=\/usr\/local\/mysql/'?/etc/init.d/mysqld
sed?-i?'s/^datadir=/datadir=\/data\/mysql\/3306/'?/etc/init.d/mysqld
sed?-i?'s/`@HOSTNAME@`/DB148/'?/etc/init.d/mysqld
sh?/usr/local/mysql/scripts/mysql_install_db?--user=mysql?--basedir=/usr/local/mysql?--datadir=$DATA_DIR??&&
/etc/init.d/mysqld?start
else
echo?"Your?input?mysql?version??is?not?in?$MYSQL_DIR"
fi
下面我們測(cè)試這個(gè)腳本是否能正常執(zhí)行。
首先新建目錄/data/software,在mysql官方網(wǎng)站下載mysql-5.5.25.tar.gz和cmake源碼包。
接下來(lái)我們執(zhí)行mysql安裝腳本,這里要手動(dòng)輸入mysql版本號(hào)碼5.5.25,然后腳本會(huì)自動(dòng)安裝,出去透透風(fēng),休息休息。
最后查看一下mysql數(shù)據(jù)庫(kù)的安裝是否OK,通過(guò)查看mysql數(shù)據(jù)庫(kù)啟動(dòng)文件,端口,數(shù)據(jù)文件等等都是正常的。
總結(jié):上面的腳本里面都做了簡(jiǎn)單的注釋,下面著重說(shuō)明一下在安裝過(guò)程中容易出錯(cuò)的地方。
1)echo "PATH=$PATH:/usr/local/cmake/bin" >> /etc/profile && source /etc/profile 腳本里面的這行代是修改環(huán)境變量,否則在編譯安裝mysql數(shù)據(jù)庫(kù)的時(shí)候出錯(cuò)提示說(shuō)找不到cmake命令。
2)sed -i 's/^basedir=/basedir=\/usr\/local\/mysql/' /etc/init.d/mysqld和? sed -i 's/^datadir=/datadir=\/data\/mysql\/3306/' /etc/init.d/mysqld 腳本里面的這兩行在mysql啟動(dòng)文件指定mysql數(shù)據(jù)庫(kù)的安裝目錄和數(shù)據(jù)目錄存放目錄。
3)sed -i 's/`@HOSTNAME@`/DB148/' /etc/init.d/mysqld 腳本的這行是用mysql服務(wù)器的主機(jī)名替換掉`@HOSTNAME@`,否則在啟動(dòng)數(shù)據(jù)庫(kù)的時(shí)候會(huì)提示下面錯(cuò)誤,/etc/init.d/mysqld: line 263: @HOSTNAME@: command not found,但數(shù)據(jù)庫(kù)能正常啟動(dòng)。
總結(jié)
以上是生活随笔為你收集整理的centos5.8安装mysql_Centos5.8上面用Shell脚本一键安装mysql5.5.25源码包的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux递归创建文件夹_Python中
- 下一篇: mysql设计技巧_MySQL库表设计小