Centos7脚本安装jdk和mysql一步到位

安装准备

jdk压缩包和脚本网盘链接:

链接:https://pan.baidu.com/s/1qc4voMWaCrXTrzpBp8scZA 
提取码:soul

将jdk包和脚本放入一个文件夹中,习惯放入/opt中

进入/opt

运行脚本文件 ①功能序号 ②想修改的系统名称 ③想修改的静态ip地址

(注意IP地址文件是ifcfg-ens33还是ifcfg-ens32,大部分情况为ifcfg-ens33 ,如果是ifcfg-ens32将脚本文件所有ifcfg-ens33改为ifcfg-ens32)

cd /opt

source sys_setup.sh 7 AvA 192.168.1.170

脚本详细功能说明

1  修改系统名称 同时修改hosts文件

modify_sysname(){
    hostnamectl set-hostname $1
    cfg=`cat /etc/hosts | grep $2 | grep -wF $1`
    if [ "$cfg" == "" ];then
        echo "$2 $1" >> /etc/hosts
    fi
}

2  修改IP静态地址

modify_staticip(){
    chk=`cat /etc/sysconfig/network-scripts/ifcfg-ens32 | grep static`
    if [ "$chk" == "" ];then
        sed -i 's/dhcp/static/' /etc/sysconfig/network-scripts/ifcfg-ens32
        echo "IPADDR=$1" >> /etc/sysconfig/network-scripts/ifcfg-ens32
        echo "NETMASK=255.255.255.0" >> /etc/sysconfig/network-scripts/ifcfg-ens32
        echo "GATEWAY=${1%.*}.2" >> /etc/sysconfig/network-scripts/ifcfg-ens32
        echo "DNS1=114.114.114.114" >> /etc/sysconfig/network-scripts/ifcfg-ens32
        echo "DNS2=8.8.8.8" >> /etc/sysconfig/network-scripts/ifcfg-ens32
    fi
    systemctl restart network
}

3  关闭防火墙

close_firewalld(){
    systemctl stop firewalld
    systemctl disable firewalld 
}

4  修改yum源为阿里源

modify_yumsource() {
    # 检查是否已有备份文件 如果有则说明已经运行过
    if [ -e /etc/yum.repos.d/CentOS-Base.repo_bak ];then
        echo "don't nothing!"
    else
        #首先安装wget命令
        yum install -y wget
        #修改yum
        cd /etc/yum.repos.d/
        mv CentOS-Base.repo CentOS-Base.repo_bak
        wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
        yum clean all
        yum makecache
    fi
}

5  安装JDK (软件目录必须在/opt下)

首先检查文件的文件夹是否存在不存在就创建一个


check_soft_folder(){
    if [ -e /opt/soft/$1 ];then
        echo "/opt/soft/$1 folder already exists"
        return 0
    else
        mkdir -p /opt/soft/$1
        return 1
    fi
}

 

安装JDK 


setup_jdk() {
    #检查JDK是否已经安装过
    check_soft_folder jdk180
    if [ $? == 1 ];then
        #在opt文件夹下搜索jdk的tar.gz文件
        jdkName=`ls /opt/ | grep jdk*`
        #将文件解压到对应的soft文件夹下
        tar -zxf /opt/$jdkName -C /opt/soft/jdk180 --strip-components 1
        #配置/etc/profile文件
        echo "" >> /etc/profile
        echo "#java environment" >> /etc/profile
        echo "export JAVA_HOME=/opt/soft/jdk180" >> /etc/profile
        echo "export CLASSPATH=.:\${JAVA_HOME}/jre/lib/rt.jar:\${JAVA_HOME}/lib/dt.jar:\${JAVA_HOME}/lib/tools.jar" >> /etc/profile
        echo "export PATH=\$PATH:\${JAVA_HOME}/bin" >> /etc/profile
        source /etc/profile
    fi
}

6  安装mysql5.7

setup_mysql() {
    #检查linux的mariadb是否卸载 如果没有说明没有安装过mysql
    mdb=`rpm -qa | grep mariadb`
    if [ "$mdb" != "" ];then
        rpm -e --nodeps $mdb
        cd /opt/
        wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
        yum -y install mysql57-community-release-el7-10.noarch.rpm
        yum -y install mysql-community-server
        #修改/etc/my.cnf文件解决中文乱码
        sed -i '/socket/a character-set-server=utf8' /etc/my.cnf
        echo "[client]" >> /etc/my.cnf
        echo "default-character-set=utf8" >> /etc/my.cnf
        echo "[mysql]" >> /etc/my.cnf
        echo "default-character-set=utf8" >> /etc/my.cnf
        systemctl start  mysqld.service
        #获取临时密码
        pwdinfo=`grep "password" /var/log/mysqld.log| grep -wF "temporary password"`
        passwd=${pwdinfo#*localhost:}
        passwd=$(echo $passwd)
        #执行修改密码语句
        mysql -uroot -p$passwd --connect-expired-password -e "set global validate_password_policy=0"
        mysql -uroot -p$passwd --connect-expired-password -e "set global validate_password_length=1"
        mysql -uroot -p$passwd --connect-expired-password -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'okok'"
        #修改远程登录
        mysql -uroot -pokok -e "GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'okok'"
        mysql -uroot -pokok -e "flush privileges"
        #重启服务
        systemctl restart mysqld.service
    fi
}
 

7 以上流程来一遍

 custom_option() {
    case $1 in
        "1")
            modify_sysname $2 $3
            ;;
        "2")
            modify_staticip $3
            ;;
        "3")
            close_firewalld
            ;;
        "4")
            modify_yumsource
            ;;
        "5")
            setup_jdk
            ;;
        "6")
            setup_mysql
            ;;
        "7")
            modify_sysname $2 $3
            modify_staticip $3
            close_firewalld
            modify_yumsource
            setup_jdk
            setup_mysql
            ;;
        *)
            echo "please option 1~7"
    esac
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值