test-definitions/blob/master/auto-test/alisql/alisql.sh

#定义一个函数,在centos下删除这些package
function alisql_uninstall(){

    yum remove -y mariadb*
    yum remove -y mysql*
    yum remove -y percona*
    yum remove -y AliSQL*
}

function alisql_install(){
    #安装package
    yum install -y AliSQL-server
	#安装成的话,调用函数lava-test-case 表示安装成功
    if [ $? -eq 0 ];then
        lava-test-case "AliSQL-server install" --result pass
    else
		#安装失败,则删除对应的package
        alisql_uninstall
        yum install -y AliSQL-server
        if [ $? -ne 0 ];then
            lava-test-case "AliSQL-server install" --result fail
            exit 1
        fi
    fi
    export LANG=en_US.UTF8
	#查询这个包的信息保存到tmp.info 中
    yum info AliSQL-server > tmp.info
	#grep 执行的结果中裁剪出version信息和repo信息
    local version=`grep Version tmp.info | cut -d : -f 2`
    local repo=`grep "From repo" tmp.info | cut -d : -f 2`
	#检查版本和repo是否等于测定的字符串
    if [ $version = "5.6.32" -a $repo = "Estuary" ];then
        true
    else
        false
    fi 
    print_info $? "alisql version is right"

}

function alisql_start_custom(){
	#第一个形参为零的话,给port赋值3306.否则赋值为第一个形参
    if [ -z $1 ];then
        port=3306
    else
        port=$1
    fi 
    local base="/mysql/$port"
    #删除这个命令
    rm -rf ${base}
	#新建目录
    mkdir -p ${base}/{data,run,log}
    cp -f ./my.cnf $base
	#将my.cnf 中的port地换成3306
    sed -i s"/3306/$port/" ${base}/my.cnf 
	#新建两个文件
    touch ${base}/run/mysqld.pid 
    touch ${base}/log/mysqld.log
	#改变权限
    chown -R mysql:mysql ${base} 
	#建立软连接
    ln -s ${base}/my.cnf ~/.my.cnf
	#执行命令
    mysql_install_db --defaults-file=${base}/my.cnf --user=mysql --force 
	#判断命令执行的结果
    if [ $? -ne 0 ];then 
        echo "alisql initilized failed"
        exit 1
    fi 
	#后台执行命令
    mysqld_safe --defaults-file=${base}/my.cnf --user=mysql & 
	#保存上一个命令执行的pid
    local pid=$!
	#睡眠3s
    sleep 3
	#查询pid是否存在
    ps -ef | grep $pid 
    if [ $? -ne 0 ];then
        echo "alisql can't start success"
        exit 1
    fi 
}

function alisql_stop_custom(){
    
	#执行命令,并通过ps -ef 查询进程名,看shutdown命令是否执行成功
    mysqladmin shutdown 
    ps -ef | grep mysqld | grep -v grep 
    if [ $? -eq 0 ];then
        false
    else
        true
    fi 
	#打印信息
    print_info $? "alisql stop server by command"
	#删除文件
    rm -f ~/.my.cnf
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值