虚拟机JDK&MYSQL数据库安装配置详细教程(包含脚本安装MySQL)

前言:MySQL安装为5.6.21版本的MySQL
如需安装8.x版本,详见: Linux Hadoop平台伪分布式安装中的3.1 MySQL8安装

一、解压安装包

       1.首先我在/opt文件目录下新建了两个文件夹,download和software。之后我将下载好的JDK安装包通过Xftp放到了刚刚新建的download文件夹里。

在这里插入图片描述
在这里插入图片描述

       2.JDK安装包准备好之后,我将JDK安装包文件解压到了/opt/software文件夹目录下

在这里插入图片描述

       3.解压好之后可以到目标目录下查看文件,这里我重命名了jdk文件

在这里插入图片描述


二、配置环境变量

       1.进入配置文件
在这里插入图片描述
       快捷键shift+g直接来到文档底部,按“i”进入编辑模式,把环境变量如下图编辑在内,编辑好之后esc退出编辑模式,:x保存退出。
在这里插入图片描述

#JAVA_HOME
JAVA_HOME=/opt/software/jdk180
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

       可以验证下我们的环境变量

在这里插入图片描述

       同样的可以验证下我们的java version,到这里我们的jdk环境变量配置完成

在这里插入图片描述


三、yum安装

       首先更新我们的yum
在这里插入图片描述

       这里我们安装下wget,后面会后用到这个
在这里插入图片描述


四、rpm安装mysql

       安装之前,查看是否存在mysql的旧版本

在这里插入图片描述

       如果存在,需要删除再安装:yum -y remove xxxx,之后我们可以通过wget直接下载mysql的包

在这里插入图片描述

在这里插入图片描述

       安装mysql服务

在这里插入图片描述

       安装完之后启动mysql并查看状态

在这里插入图片描述

       进入mysql并使用

在这里插入图片描述

       修改密码 并授权

在这里插入图片描述

       重启服务重新进入即可

在这里插入图片描述


五、快捷安装MySQL-配置脚本安装

5.1 编辑脚本

  • 请在/root目录下运行安装的脚本
  • UNINSTALL MARIADB =>卸载mariadb
  • UNINSTALL PAST MYSQL =>卸载旧版本MySQL
  • YUM UPDATE =>更新yum
  • SEARCH WGET AND ISTALL WGET =>安装wget
  • WGET MYSQL PACKAGE =>wget获取MySQL安装包
  • RMP INSTALL MySQL =>安装MySQL
  • INSTALL MYSQL-SERVER I=>安装MySQL服务
  • MODIFY PASSWORD =>修改root用户密码
  • CHINESE GARBLED PROBLEM =>修改MySQL字符集,解决中文乱码问题
#!/bin/bash
#------------------UNINSTALL MARIADB------------------------
echo "First,we need to unistall mariadb"
var=`rpm -qa | grep mariadb`
if [[ $var =~ ^mariadb ]]
then
        echo -e Find "\e[1;31m $var \e[0m"
        `rpm -e --nodeps $var`
        rst=`rpm -qa | grep mariadb`
        if [[ $rst =~ "" ]]
        then
                echo "Mariadb uninstall successfully"
        fi
else
        echo "Not find mariadb,just direct install mysql"
fi

#-------------------------UNINSTALL PAST MYSQL---------------------------
echo
echo "Second,we need to check that you pc has past mysql and uninstall"
echo "Start to uninstall mysql server"
VAR=`rpm -qa|grep -i mysql`
VAR=($VAR)
for server in ${VAR[@]}
do
    echo -e uninstall: "\e[1;31m $VAR \e[0m"
    `rpm -e --nodeps $server`
done
VAR=`rpm -qa|grep -i mysql`
if [ ${#VAR} -eq 0 ]
then
    echo "All mysql server were uninstall!"
else
    echo "Find remains mysql server,please reuninstall remain mysql server"
    exit 1
fi
echo
echo "Next,we need to remove remain mysql properties and denpencies"
VAR=`rm -rf /var/lib/mysql`
echo "Mysql propertied and denpencies were all droped"
echo
echo -e Last,we had to remove: "\e[1;31m my.cnf \e[0m"
VAR=`rm -rf /etc/my.cnf`
echo -e File: "\e[1;31m $VAR \e[0m"  has removed!
echo "Your pc with all about mysql has remove, we start to install mysql"

#-------------------------YUM UPDATE---------------------------------------
echo
echo "start to update yum ..."
`yum -y update>/root/test.log 2>&1`
VAR=`awk -F '!'  'END{print $1}' /root/test.log`
if [[ $VAR =~ ^Complete ]]
then
    echo "update yum success!"
elif [[ $VAR =~ ^No ]]
then
    echo "yum has been the newest!"
else
    echo "update yum failed,please reinstall..."
        exit 1
fi

#------------------SEARCH WGET AND INSTALL WGET--------------------
echo
VAR=`yum search wget|grep wget.|awk -F' ' '{print $1}'`
VAR=${VAR##*=}
echo -e yum search wget find: "\e[1;31m $VAR \e[0m"
echo -e start to install: "\e[1;31m $VAR \e[0m"
VAR="yum -y install $VAR>/root/test.log 2>&1"
`eval $VAR`
#验证wget是否安装成功
VAR=`awk -F '!'  'END{print $1}' /root/test.log`
VAR2=`cat /root/test.log |grep wget.|awk -F' ' '{print $0}'`
VAR2=`echo $var|grep "already installed"`
if [[ $VAR =~ ^Complete ]]
then
    echo "install wget success"
elif [[ $VAR2 != NULL ]]
then
    echo "wget already install"
else
    echo "install wget failed,please reinstall..."
        exit 1
fi

#------------------WGET MYSQL PACKAGE-----------------------
echo
echo "Checking past version of mysql package"
VAR=`ls|grep mysql.*`
VAR=($VAR)
for package in ${VAR[@]}
do
    `rm -rf $package`
done
echo "Old version of package, they all been removed"
echo
echo "Start to download mysql package"
VAR=http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
`eval "wget $VAR>/root/test.log 2>&1"`
#验证wget获取MySQL package结果
ls>test.log
VAR=`cat test.log`
VAR=($VAR)
COUNT=0
for var in ${VAR[@]}
do
    if [[ $var =~ ^mysql ]]
    then
        echo "Download package $var success!"
        COUNT=0
        break
    else
        ((COUNT++))
    fi
done

if [ $COUNT -ne 0 ]
then
    echo "Download package failed .... please redownload package!"
    exit 1
fi
echo

#----------------RMP INSTALL-----------------------
echo "Start to install mysql"
VAR=`ls ./|grep mysql*`
OPER=`eval "rpm -ivh $VAR>/root/test.log 2>&1"`
#验证MySQL安装是否成功
VAR=`awk -F' ' 'END{print $1}' /root/test.log`
if [[ $VAR =~ ^mysql ]]
then
    echo "Install mysql successfully"
else
    echo "Install mysql failed,please reinstall..."
    echo "Install log in /root/test.log,please check it and find reason"
        exit 1
fi
echo

#---------------MYSQL-SERVER INSTALL-----------------
echo "start to install mysql server..."
VAR="yum -y install mysql-server>/root/test.log 2>&1"
`eval $VAR`
#验证MySQL服务是否安装成功
VAR=`rpm -qa|grep -i mysql`
VAR=($VAR)
if [[ ${#VAR[*]} -ge 4 ]]
then
    echo "mysql server install success"
else
    echo "mysql server install fail"
    echo "Install log in /root/test.log,please check it and find reason"
        exit 1
fi

#------------------MODIFY PASSWORD------------------------------
echo
echo "Start to modify password"
#通过配置文件的方法跳过MySQL的登录检查,修改后要删掉次配置
`sed -i '/sql_mode=/i\\skip-grant-tables' /etc/my.cnf`
`systemctl restart mysql`
#modify password
`mysql -uroot -e "use mysql;update user set password=password('root') where user='root';flush privileges;grant all on *.* to root@'%' identified by 'root';"`
echo "User of 'root' password has changed into 'root'"
`sed -i '/skip-grant-tables/d' /etc/my.cnf`
echo "Modify password successfully"

#------------------CHINESE GARBLED PROBLEM------------------------
echo
echo "Start to modify mysql-my.cnf"
`echo "#mysql-setup" > /etc/my.cnf`
sen="[client]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
[mysql]
default-character-set=utf8
"
lines=`echo $sen`
for line in $lines
do
    VAR=`eval "sed -i '/#mysql-setup/i\$line' /etc/my.cnf"`
done
#验证修改是否完成
VAR=`awk -F' ' 'END{print $1}' /etc/my.cnf`
if [[ $VAR =~ ^#mysql ]]
then
        echo "modify my.cnf success"
else
        echo "modify my.cnf failed,please check shell..."
        exit 1
fi
echo
echo "Restart mysql"
`systemctl restart mysql`
echo "Install mysql finished!"

5.2 执行脚本并测试结果

  • 脚本授权

在这里插入图片描述


  • 执行脚本

在这里插入图片描述


  • 测试连接mysql

在这里插入图片描述


PS:如果有写错或者写的不好的地方,欢迎各位大佬在评论区留下宝贵的意见或者建议,敬上!如果这篇博客对您有帮助,希望您可以顺手帮我点个赞!不胜感谢!

原创作者:wsjslient

作者主页:https://blog.csdn.net/wsjslient


  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值