我爱小虾 发表于 2018-10-10 11:09:49

MySQL5.6 一键安装脚本

  #!/bin/sh
  #*************************
  #Created By:    yixianwei.cn
  #*************************
  yum install -y grep procps coreutils xfsprogs util-linux-ng e2fsprogs libselinux-utils chkconfig wget yum-utils gawk libaio cronie xz
  if [ -b /dev/sdb ] ;then
  if [ -z "`mount |grep /dev/sdb`" ] ;then

  mkfs.xfs -b>  if [ -z "`blkid /dev/sdb`" ] ;then
  uuidgen | xargs tune2fs /dev/sdb -U
  fi
  sdbuuid="`blkid -o value -s UUID /dev/sdb`"
  if [ -z "`grep $sdbuuid /etc/fstab`" ] ;then
  echo "UUID=$sdbuuid /data                   xfs   rw,noatime,noikeep,allocsize=16M,attr2,largeio,inode64   0 0" >> /etc/fstab
  echo "echo \"deadline\" >/sys/block/sdb/queue/scheduler" > /etc/profile.d/skyeye_mysql.sh
  sh /etc/profile.d/skyeye_mysql.sh
  fi
  mkdir -p /data
  mount -a
  else
  mkdir -p /data
  fi
  else
  mkdir -p /data
  fi
  if [ -z "`grep -i mysql /etc/security/limits.conf`" ] ;then
  echo "mysql - proc 10240" >> /etc/security/limits.conf
  echo "mysql - nofile 65535" >> /etc/security/limits.conf
  ulimit -u 10240
  ulimit -n 65535
  fi
  if [ -z "`grep -i tcp_timestamps /etc/sysctl.conf`" ] ;then
  echo "net.ipv4.tcp_timestamps = 1" >> /etc/sysctl.conf
  fi
  if [ -z "`grep -i tcp_tw_recycle /etc/sysctl.conf`" ] ;then
  echo "net.ipv4.tcp_tw_recycle = 1" >> /etc/sysctl.conf
  fi
  if [ -z "`grep -i tcp_tw_reuse /etc/sysctl.conf`" ] ;then
  echo "net.ipv4.tcp_tw_reuse = 1" >> /etc/sysctl.conf
  fi
  if [ -z "`grep -i swappiness /etc/sysctl.conf`" ] ;then
  echo "vm.swappiness = 1" >> /etc/sysctl.conf
  fi
  if [ -z "`grep -i aio-max-nr /etc/sysctl.conf`" ] ;then
  echo "fs.aio-max-nr = 1048576" >> /etc/sysctl.conf
  fi
  if [ -z "`grep -i ip_local_port_range /etc/sysctl.conf`" ] ;then
  echo "net.ipv4.ip_local_port_range = 10000 65535" >> /etc/sysctl.conf
  fi
  sysctl -p
  setenforce 0
  sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
  service iptables stop
  service ip6tables stop
  chkconfig iptables off
  chkconfig ip6tables off
  service mysql stop
  service mysqld stop
  mysqld_multi --user=root stop
  killall -9 mysqld_safe
  killall -9 mysqld
  oldmysqlserver="`rpm -qa|egrep -i mysql-server`"
  if [ -n "$oldmysqlserver" ] ;then
  yum erase -y $oldmysqlserver
  fi
  yum localinstall -y mysql-community-release-el6-5.noarch.rpm
  mysqlrepo="`yum repolist all | egrep -i mysql+-community |grep enabled|awk '{print $1}'`"
  yum-config-manager --disable $mysqlrepo
  yum-config-manager --enable mysql56-community
  yum install -y mysql-community-client*`uname -m`.rpm mysql-community-devel*`uname -m`.rpm mysql-community-server*`uname -m`.rpm mysql-community-common*`uname -m`.rpm mysql-community-libs*`uname -m`.rpm mysql-community-libs-compat*`uname -m`.rpm
  service mysqld stop
  mkdir -p /data/mysql
  chown mysql:mysql /data/mysql
  if [ ! -d /data/mysql/mysqldata3306 ] ;then
  mkdir -p /data/mysql/mysqldata3306
  mkdir -p /data/mysql/mysqldata3306/mydata
  mkdir -p /data/mysql/mysqldata3306/binlog
  mkdir -p /data/mysql/mysqldata3306/innodb_ts
  mkdir -p /data/mysql/mysqldata3306/innodb_log
  mkdir -p /data/mysql/mysqldata3306/relaylog
  mkdir -p /data/mysql/mysqldata3306/tmpdir
  mkdir -p /data/mysql/mysqldata3306/log
  mkdir -p /data/mysql/mysqldata3306/sock
  chown -R mysql:mysql /data/mysql/mysqldata3306
  fi
  if [ -f /etc/my.cnf ] ;then
  mv -f /etc/my.cnf "/etc/my.cnf.`date +%s`.bak"
  fi
  if [ -f /etc/mysql/my.cnf ] ;then
  mv -f /etc/mysql/my.cnf "/etc/mysql/my.cnf.`date +%s`.bak"
  fi
  if [ -f /usr/etc/my.cnf ] ;then
  mv -f /usr/etc/my.cnf "/usr/etc/my.cnf.`date +%s`.bak"
  fi
  if [ -f ~/.my.cnf ] ;then
  mv -f ~/.my.cnf "~/.my.cnf.`date +%s`.bak"
  fi
  if [ -f /root/.my.cnf ] ;then
  mv -f /root/.my.cnf "/root/.`date +%s`.bak"
  fi
  if [ -f /var/lib/mysql/.my.cnf ] ;then
  mv -f /var/lib/mysql/.my.cnf "/var/lib/mysql/.`date +%s`.bak"
  fi
  mysqlhome="`grep ^mysql /etc/passwd |awk -F':' '{print $6}'`"
  if [ -f "$mysqlhome/.my.cnf" ] ;then
  mv -f $mysqlhome/.my.cnf "$mysqlhome/.`date +%s`.bak"
  fi
  bpsize="`free -m |grep Mem:|awk '{print int($2/2)==$2/2?$2/2:int($2/2)+1}'`M"
  iocapacity="`df -B GB --total /data |grep total|awk '{sub(/GB/,\"\",$2);print ($2/300==int($2/300)?$2/300:int($2/300)+1)*100}'`"
  cat >> /etc/my.cnf
页: [1]
查看完整版本: MySQL5.6 一键安装脚本