首页 > 数据库 >mysql部署

mysql部署

时间:2022-11-11 20:02:37浏览次数:33  
标签:部署 mysql echo -- BASE MYSQL DATA

#!/bin/bash
#定义相关变量
MYSQL_DOWNLOAD_PATH=/usr/local/src
MYSQL_URL=https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
BASE=/usr/local/mysql
DATA=/data/mysql/
CONFIG=/etc
MYSQL_MD5=9bd4d73ee7ed3b4eaa5cd55764c792d3
MYSQL_INIT_LOGS=/tmp/mysql_init.logs
MYSQL_START_FILE=/etc/init.d/mysqld.sh

#判断基础条件存在
if id -u mysql > /dev/null 2>&1;then
    echo "mysql user exits"
else 
    useradd mysql -s /sbin/nologin -M
fi
#判断数据目录是否存在
if [ ! -d $DATA ] ;then
   echo "mysql数据目录不存在,创建中......."
   mkdir /data/mysql -p
   chown mysql.mysql /data/mysql/
else
   echo "mysql数据目录已经存在"
fi

#下载mysql二进制安装包,源采用的是清华源
echo "download mysql........"
wget $MYSQL_URL --no-check-certificate -O ${MYSQL_DOWNLOAD_PATH}/mysql.tar.gz 
mysql_md5=$(md5sum $MYSQL_DOWNLOAD_PATH/mysql.tar.gz | awk -F " " '{print $1}')
if [[ $MYSQL_MD5 == $mysql_md5 ]] ;then
    tar -xf ${MYSQL_DOWNLOAD_PATH}/mysql.tar.gz -C $MYSQL_DOWNLOAD_PATH/
    ln -s ${MYSQL_DOWNLOAD_PATH}/mysql-5.7.38-linux-glibc2.12-x86_64/ $BASE
    chown mysql.mysql ${MYSQL_DOWNLOAD_PATH}/mysql-5.7.38-linux-glibc2.12-x86_64/* -R
    echo "yes"
else
    echo "page md5 incorrect,please try again!!"
fi


#安装相关依赖,但是在网络互通的情况下
if ping www.baidu.com -C 3 > /dev/null 2>&1 ;then
    echo "download........"
    yum -y install gcc gcc-c++ openssl-devel boost-devel pcre prel ncurses-devel libaio
    [ $? -eq 0 ] && echo "安装依赖成功" || echo "安装依赖失败,请检查情况"
else
    if timeout 3m  yum -y install gcc gcc-c++ openssl-devel boost-devel pcre prel ncurses-devel libaio ;then
        echo "安装依赖成功"
    else
        echo "网络故障,建议排查"
    fi
fi
if [ ! -f ${CONFIG}/my.cnf ] ;then
   echo "my.cnf not file"
else
   mv ${CONFIG}/my.cnf ${CONFIG}/my.cnf.d/
fi
#创建mysql配置文件
echo "build congf-file........."
cat << EOF > $CONFIG/my.cnf
[mysqld] 
user = mysql   
socket = ${DATA}/mysql.sock
basedir = $BASE
datadir = $DATA
pid-file = ${DATA}/mysql.pid
log-error = ${DATA}/mysqld.log
EOF
echo "initdata mysql............"
if [ ! -f $MYSQL_INIT_LOGS ] ;then
   touch $MYSQL_INIT_LOGS
   chown mysql.mysql $MYSQL_INIT_LOGS
   $BASE/bin/mysqld --initialize --user=mysql --basedir=$BASE --datadir=$DATA
else
   $BASE/bin/mysqld --initialize --user=mysql --basedir=$BASE --datadir=$DATA
fi
echo "build mysql start file.........."
cp $BASE/support-files/mysql.server $MYSQL_START_FILE

$MYSQL_START_FILE start


标签:部署,mysql,echo,--,BASE,MYSQL,DATA
From: https://blog.51cto.com/u_15478219/5845293

相关文章

  • 部署ArgoCD
    官网https://github.com/argoproj/argo-cd/releases/tag/v2.5.2我部署的事Non-HA版本kubectlcreatenamespaceargocdkubectlapply-nargocd-fhttps://raw.github......
  • Mysql8创建用户以及赋权操作
    1.使用root进入mysqlmysql>mysql-uroot-p 2.使用命令创建用户tmc设置密码123456mysql>createuser'tmc'@'%'identifiedby'123456';QueryOK,0rows......
  • 解决mysql不需要密码,乱输入密码也可以进去
    mysql不需要密码,乱输入密码就能进去。。。。解决为什么MySQL不用输入用户名和密码也能访问  今天后天连接数据库时密码写错了,却发现后台能够拿到数据库中的数据,......
  • Docker Compose安装部署Jenkins
    流水线可以让项目发布流程更加清晰,docker可以大大减少Jenkins配置。1、前言数据卷挂载到/var磁盘目录下,因为该磁盘空间较大,后面需要挂载容器数据卷,以防内存吃紧。......
  • centos8下mysql创建新用户
    1、进入docker下mysqldockerexec-it容器ID/bin/bashmysql-uroot-p2、修改用户密码UPDATEuserSETpassword=PASSWORD('newpassword')whereUSER......
  • Linux Centos7 部署步骤 mysql
    0.首先查看cpu架构uname-a输出内容中有关键词ARM或aarch64就是ARM架构,有关键词x86_64就是X86架构1.下载mysql8(https://dev.mysql.com/)选择 RedHat......
  • MySQL优化常用的19种有效方法(推荐!)
    关于数据库优化,网上有不少资料和方法,但是不少质量参差不齐,有些总结的不够到位,内容冗杂,下面这篇文章主要给大家介绍了关于MySQL优化常用的19种有效方法,需要的朋友可以......
  • 怎么修改mysql的隔离级别
    原文网址:https://m.php.cn/article/486717.html修改mysql隔离级别的方法:1、找到“skip-external-locking”;2、添加“transaction-isolation=READ-COMMITTED”内容;3、重......
  • mysql条件统计的几种方式
    1.SELECTSELECT(SELECTCOUNT(1)FROM`staff_info`WHERE`user_type`=0)AS`a`,(SELECTCOUNT(1)FROM`staff_info`WHERE`user_t......
  • MySQL的配置参数(转)
      MySQL的优化熟悉Oracle优化的人都知道Oracle的重要优化对象就是SGA区,其实MySQL也是一样的.MySQL的参数配置在my.cnf文件中。[注]。mysql的配置大部分在my.cnf中,参数和......