linux中安装的脚本怎么删除,MySQL 学习笔记 linux下的安装和删除脚本

#! /bin/bash

echo

echo \$@:$@

echo \$#:$#

echo \$?:$?

echo

#check parameters number

if [[ $# < 2 ]]

then

echo

echo ----------------------------------------------------

echo example:$0

echo -e "\t-f mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz"

echo -e "\t-u mysql_test"

echo -e "\t-p root"

echo -e "\t-P 3307"

echo ----------------------------------------------------

echo

exit 1

fi

tar_name=

user=mysql

password=123

port=3306

#getopts

while getopts f:u:p:P: opt

do

case $opt in

f)

if [ -f $OPTARG ]

then

tar_name=$OPTARG

else

echo mysql-version.os.tar.gz not found!!!

exit 1

fi

;;

u)

echo $OPTARG

user=$OPTARG;;

p)

echo $OPTARG

password=$OPTARG;;

P)

echo $OPTARG

port=$OPTARG;;

?)

echo unrecognized parameter...

exit 1

esac

done

echo

echo -------------------------------------

echo exec_file:$0

echo tar_name:$tar_name

echo password:$password

echo port:$port

echo -------------------------------------

echo

######################################################################

# 0:creat a new dir

# 1:dir exsits

makedir() {

if [[ -d $1 ]]

then

echo 1

else

mkdir -p $1

echo 0

fi

}

mkdir_test() {

test_dir=/test_dir/dir

echo test_dir:`makedir $test_dir`

echo tset_dir:`makedir $test_dir`

mkdir $test_dir #file exsits and output error message

mkdir $test_dir>/dev/null #file exsits and output error message

mkdir $test_dir 2>/dev/null #file exsits and output error to /dev/null

#echo `rmdir $test_dir`

}

#mkdir_test

#####################################################################

tempfile_test() {

tempfile=`mktemp /err.XXXX`

echo $tempfile

cd $test_dir

tempfile=`mktemp /err.XXXX`

echo $tempfile

tempfile=`mktemp err.XXXX`

echo $tempfile

}

#tempfile_test

#####################################################################

#exit 0

#create all dir variables

app_path=/app_test

file_name=${tar_name%%.tar*}

prefixdir=`echo $tar_name|cut -c 1-12`

basedir=/usr/local/$user

datadir=$basedir/data

bindir=$basedir/bin

socket=/tmp/$user.sock

tempfile=`mktemp /err.XXXX`

group=$user

server_path=/etc/init.d

server_name=${user}d

echo $server_name

#create user and group

if [[ -z `cat /etc/passwd|grep $user` ]]

then

adduser $user -s /sbin/nologin -M

fi

#if [ -d $app_path ]

#then

# echo exsits $app_path

#else

# mkdir $app_path

#fi

makedir $app_path

tar xzvf $tar_name -C $app_path>/dev/null

cd $app_path

mv $file_name $prefixdir

ln -s $app_path/$prefixdir $basedir

sed -i "s#/usr/local/mysql#$basedir#g" $basedir/support-files/mysql.server $bindir/mysqld_safe

sed -i "s/user='mysql'/user='$user'/g" $bindir/mysqld_safe

sed -i "s#lockdir/mysql#lockdir/$user#g" $basedir/support-files/mysql.server

cp $basedir/support-files/mysql.server $server_path/$server_name

echo -e "export PATH='$bindir:\$PATH'">/etc/profile.d/${user}.sh

#create my.cnf

touch $basedir/my.cnf

#create data directory

cat>>$basedir/my.cnf<

[mysqld]

basedir=$basedir

datadir=$datadir

log_error=$user.err

socket=$socket

pid-file=$user.pid

port=$port

server_id=$port

EOF

chown -R $group.$user $basedir

#chown -R $group.$user $basedir/

$bindir/mysqld --initialize --basedir=$basedir --datadir=$datadir --port=$port --user=$user 2>$tempfile 1>/dev/null

password_init=`grep password < $tempfile`

password_in=${password_init##*localhost: }

echo origin_password:$password_in

echo $password_in>$tempfile

service $server_name start

#alter user password

$bindir/mysqladmin -uroot -p$password_in password $password

#$bindir/mysql --connect-expired-password -uroot -p -P $port -S $socket -e "alter user root@'localhost' identified by '$password';flush privileges;"/dev/null

echo $?

#install over and echo all information

rm -rf /$tempfile

source /etc/profile

echo

echo service:$server_name

echo user:$user

echo socket:$socket

echo passwd=$password

echo port=$port

echo

echo install over

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值