centos5.8安装mysql_Centos5.8上面用Shell脚本一键安装mysql5.5.25源码包

最近在研究mysql集群,至少要安装部署2台或者多台mysql数据库,操作起来即麻烦又很耗时,今天根据安装步骤写了一个Shell脚本,只需执 行以下脚本就可以快速安装mysql数据库,对初学者或者想学习mysql集群的朋友非常方便,即省时,又省力。

操作系统及其mysql配置文件说明:

Linux系统:Centos5.8

mysql:mysql-5.5.25tar.gz源码包

安装目录:/usr/local/mysql/

数据目录:/data/mysql/3306/data/

二进制日志:/data/msyql/3306/binlog/

relay日志:/data/mysql/3306/relaylog/

配置文件:/data/mysql/3306/my.cnf

mysql.sock文件:/data/mysql/3306/mysql.sock

下面是我编写的一键安装mysql数据库的脚本,如有不对的地方请多多指教。[root@DB148 sh]# cat mysql_install_new_version.sh

#!/bin/bash

#创作日期: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

下面我们测试这个脚本是否能正常执行。

首先新建目录/data/software,在mysql官方网站下载mysql-5.5.25.tar.gz和cmake源码包。

e06d1364b1885624ecac174c4c5bf123.png

接下来我们执行mysql安装脚本,这里要手动输入mysql版本号码5.5.25,然后脚本会自动安装,出去透透风,休息休息。

00005a4fd373ece84899c74b0fdd2797.png

最后查看一下mysql数据库的安装是否OK,通过查看mysql数据库启动文件,端口,数据文件等等都是正常的。

5503f6ce1ed041baa85bf6e114183809.png

总结:上面的脚本里面都做了简单的注释,下面着重说明一下在安装过程中容易出错的地方。

1)echo "PATH=$PATH:/usr/local/cmake/bin" >> /etc/profile && source /etc/profile 脚本里面的这行代是修改环境变量,否则在编译安装mysql数据库的时候出错提示说找不到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启动文件指定mysql数据库的安装目录和数据目录存放目录。

3)sed -i 's/`@HOSTNAME@`/DB148/' /etc/init.d/mysqld 脚本的这行是用mysql服务器的主机名替换掉`@HOSTNAME@`,否则在启动数据库的时候会提示下面错误,/etc/init.d/mysqld: line 263: @HOSTNAME@: command not found,但数据库能正常启动。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值