linux中使用shell二进制安装MySQL

1.关闭防火墙

#!/bin/bash

#关闭防火墙和守护进程
stop_firewalld() {
  systemctl stop firewalld
  systemctl disable firewalld
  sed -ri s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
  sleep 2
  echo "防火墙已关闭"
}

stop_firewalld

2.安装MySQL

 

#!/bin/bash
#全局变量
download_addr=xxx

install_mysql() {

  #清理环境
  yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y
  userdel -r mysql
  rm -rf /etc/my*
  rm -rf /var/lib/mysql
  rm -rf /usr/local/mysql*
  #判断压缩包存不存在
  file=/root/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
  if [[ -e $file ]]; then
     echo "源码包存在" 
  else      
    #下载二进制包
      wget -O /root/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz ${download_addr}/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
  fi
  #解压
  tar xvzf /root/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz -C /usr/local
  #改名
  mv /usr/local/mysql-5.7.34-linux-glibc2.12-x86_64 /usr/local/mysql
  #创建组和用户并加入组
  groupadd -g 27 mysql && useradd -g 27 -u 27 -M -s /sbin/nologin mysql
  #授权属主和属组
  chown -R mysql:mysql /usr/local/mysql
  #创建日志文件并授权
  touch /var/log/mysql.log && chown mysql:mysql /var/log/mysql.log
  #编辑配置文件
  echo '
  [mysqld]
  basedir=/usr/local/mysql
  datadir=/usr/local/mysql/data
  socket=/usr/local/mysql/data/mysql.sock
  port=3306
  default-storage-engine = innodb
  innodb_large_prefix=on
  innodb_file_per_table = on
  max_connections = 10000
  collation-server = utf8_general_ci
  character_set_server=utf8
  user=mysql
  #skip-grant-tables

  [client]          
  port = 3306
  socket = /usr/local/mysql/data/mysql.sock
  default-character-set = utf8

  [mysqld_safe]
  log-error=/var/log/mysql.log
  ' >/etc/my.cnf
  #添加环境变量
  echo 'export PATH=${PATH}:/usr/local/mysql/bin' >/etc/profile.d/mysql.sh
  #刷新
  source /etc/profile
  #初始化数据库
  mysqld --initialize-insecure --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql

  #添加启动脚本
  echo '
  [Unit]
  Description=MySQL Server
  Documentation=man:mysqld(8)
  Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
  After=network.target
  After=syslog.target

  [Install]
  WantedBy=multi-user.target

  [Service]
  User=mysql
  Group=mysql
  ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
  LimitNOFILE = 5000
  ' >/usr/lib/systemd/system/mysql.service
  #重新加载systemd管理器的unit配置文件
  systemctl daemon-reload
  systemctl enable --now mysql.service
  #重启
  systemctl restart mysql
  sleep 10
  #修改密码
  mysql -uroot -e "alter user 'root'@'localhost' identified by 'qwer@123';"
  ss -ntpl | grep "3306"
  if [[ $? -eq 0 ]]; then
    echo "MySQL安装完成"
  else
    echo "mysql安装失败"
  fi

install_mysql

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值