设为首页 收藏本站
查看: 986|回复: 0

[经验分享] MySQL5.6 一键安装脚本

[复制链接]

尚未签到

发表于 2018-10-10 11:09:49 | 显示全部楼层 |阅读模式
  #!/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[0-9]+-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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-619890-1-1.html 上篇帖子: mysql-5.5配置主从 及 主主关系 下篇帖子: mysql remote access 1045
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表