首頁 > 軟體

MySQL一鍵安裝Shell指令碼的實現

2023-09-07 22:00:52

一、指令碼說明

1、linux系統版本

EL6, EL7, EL8, and EL9-based platforms (for example, the corresponding versions of Oracle Linux, Red Hat Enterprise Linux, and CentOS),本指令碼使用的是CentOS7。

2、MySQL版本

此指令碼安裝的是MySQL57,如果需要使用8.X版本的,只需在設定yum源時將57改為80即可

3、執行方式

此指令碼的好處便是能夠使用一條命令即可安裝完成MySQL
指令碼直接使用bash 指令碼名稱或者sh 指令碼名稱即可執行,如果安裝成功則等待設定MySQL密碼即可。

二、指令碼內容

#!/bin/bash

# 設定mysql yum源
wget https://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
rpm -ivh mysql57-community-release-el7-7.noarch.rpm

# 更新GPG驗證金鑰,並安裝mysql,如果不更新金鑰,安裝則會失敗
# 如果不更新最後兩行可能報以下錯誤
# Failing package is: mysql-community-client-5.7.38-1.el7.x86_64
# GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install mysql-server -y

# 啟動mysql
echo '正在啟動MySQL,請稍等......'
systemctl start mysqld.service
if [ $? -ne 0 ];then
   echo 'MySQL啟動失敗!!!'
   exit
else
   echo 'MySQL啟動成功!!!'
   echo '===================================='
fi


# 獲取初始密碼
initpasswd=`cat /var/log/mysqld.log | grep password | awk '{print $NF}'`
echo "初始密碼為:${initpasswd}"

# 使用者設定密碼
flag=1
while [ $flag -eq 1 ]
do
    read -p "請輸入新密碼:"  newpasswd
    read -p "請確認密碼:"  secondpasswd
    if [ $newpasswd -eq $secondpasswd ]
    then
    flag=2
    else
    echo "兩次密碼不一致,請重新輸入"
    echo "===================================="
    fi
done

echo "設定的新密碼為:${newpasswd}"

mysql --connect-expired-password -uroot -p"${initpasswd}" -e "set global validate_password_policy=0;set global validate_password_length=1;alter user 'root'@'localhost' identified by '${newpasswd}';"

if [ $? -ne 0 ];then
   echo '新密碼設定失敗!!!'
   exit
else
   echo '===================================='
   echo "新密碼設定成功!,新密碼為:${newpasswd}"
   echo '===================================='
fi

echo "正在開啟遠端登入......"
mysql --connect-expired-password -uroot -p"${newpasswd}" -e "update mysql.user set Host = '%' where Host = 'localhost' and User='root';flush privileges;"
if [ $? -ne 0 ];then
   echo '遠端登入開啟失敗!!!'
   exit
else
   echo '===================================='
   echo '遠端登入開啟成功!'
   echo '===================================='
fi

到此這篇關於MySQL一鍵安裝Shell指令碼的實現的文章就介紹到這了,更多相關MySQL安裝Shell指令碼內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com