[Shell] 纯文本查看 复制代码 #!/bin/bash
#auth:chaoren
#comment: install mysql5.1
ip="10.1.1.185"
dir="lamp"
ldir="/usr/src"
GETtar()
{
if [ ! -d $ldir$dir ] ; then
lftp $ip <<EOF
lcd $ldir
mirror $dir
bye
EOF
else
# [ -f $ldir$dir ]
# echo "$ldir$dir is a file"
echo "软件包已经存在";
fi
}
GETtar
#################test mysql user is exist#######################
testmysql(){
if [ `grep "mysql" /etc/passwd | wc -l` -eq 0 ];then
echo "adding user mysql"
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
else
echo "mysql user is exist"
fi
}
testmysql
testdir(){
for i in /usr/local/mysql /var/run/mysqld /var/log/mysqld
do
if [ ! -d $i ];then
echo "mkdir $i"
mkdir -p $i
else echo "is exist"
fi
done
}
testdir $i
Install()
{
cd /usr/src/lamp
tar xf mysql-5.1.36-linux-i686-glibc23.tar.gz -C /usr/local
rm -rf /usr/local/mysql
mv /usr/local/mysql-5.1.36-linux-i686-glibc23/ /usr/local/mysql
mkdir -p /usr/local/mysql/etc/
cat > /usr/local/mysql/etc/my.cnf <<EOF
[mysqld]
port = 3306
socket = /var/run/mysqld/mysql5.socket
pid-file = /var/run/mysqld/mysql5.pid
general-log
general-log-file = /var/log/mysqld/mysql5-access.log
log-error = /var/log/mysqld/mysql5-error.log
user = mysql
datadir = /database
EOF
cat > /etc/my.cnf <<EOF
[mysql]
socket = /var/run/mysqld/mysql5.socket
EOF
#mkdir /database /var/log/mysqld /var/run/mysqld
chown -R mysql:mysql /usr/local/mysql /database /var/log/mysqld /var/run/mysqld
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql5
chmod +x /etc/init.d/mysql5
cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql --datadir=/database
}
Install
sed -i '/^basedir=/ s/$/\/usr\/local\/mysql/' /etc/init.d/mysql5
sed -i '/^datadir=/ s/$/\/database/' /etc/init.d/mysql5
sed -i '/^conf=/ s/$/\/usr\/local\/mysql\/etc\/my.cnf/' /etc/init.d/mysql5
sed -i '/^pid_file=/ s/$/\/var\/run\/mysqld\/mysql5.pid/' /etc/init.d/mysql5
service mysql5 start && echo "is ok" |