zoukankan      html  css  js  c++  java
  • Centos 6.4上面用Shell脚本一键安装mysql 5.6.15

    Centos 6.4上面用Shell脚本一键安装mysql 5.6.15 

    #!/bin/bash
    if [ `uname -m` == "x86_64" ];then
    machine=x86_64
    else
    machine=i686
    fi
    
    mysqlBasedir=/storage/server/mysql
    mysqlDatadir=${mysqlBasedir}/data/
    mysqlLogdir=/storage/log/mysql
    mysqlUser=mysql
    mysqlGroup=mysql
    
    mkdir -p $mysqlBasedir
    mkdir -p $mysqlDatadir
    mkdir -p $mysqlLogdir
    
    #如果mysql已安装,删除原有mysql
    if [ $machine == "x86_64" ];then
      rm -rf mysql-5.6.15-linux-glibc2.5-x86_64
      if [ ! -f mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz ];then
         wget http://oss.aliyuncs.com/aliyunecs/onekey/mysql/mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz
      fi
      tar -xzvf mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz
      mv mysql-5.6.15-linux-glibc2.5-x86_64/* $mysqlBasedir
    else
      rm -rf mysql-5.6.15-linux-glibc2.5-i686
      if [ ! -f mysql-5.6.15-linux-glibc2.5-i686.tar.gz ];then
      wget http://oss.aliyuncs.com/aliyunecs/onekey/mysql/mysql-5.6.15-linux-glibc2.5-i686.tar.gz
      fi
      tar -xzvf mysql-5.6.15-linux-glibc2.5-i686.tar.gz
      mv mysql-5.6.15-linux-glibc2.5-i686/* $mysqlBasedir
    
    fi
    
    #添加mysql用户组
    groupadd $mysqlGroup
    #添加mysql用户 ,并制定组为mysql /sbin/nologin意思是用户不允许登录
    useradd -g $mysqlGroup -s /sbin/nologin $mysqlUser
    #安装服务
    ${mysqlBasedir}/scripts/mysql_install_db --datadir=$mysqlDatadir --basedir=$mysqlBasedir --user=$mysqlUser --defaults-file=${mysqlBasedir}/default-my.cnf 
    
     #设置权限
    chown -R ${mysqlUser}:${mysqlGroup} $mysqlBasedir
    chown -R ${mysqlUser}:${mysqlGroup} $mysqlDatadir
    chown -R ${mysqlUser}:${mysqlGroup} $mysqlLogdir
    
    #把mysql.server放到/etc/init.d 目录下方便使用
    cp -f ${mysqlBasedir}/support-files/mysql.server /etc/init.d/mysqld
    #脚本里面的这两行在mysql启动文件指定mysql数据库的安装目录和数据目录存放目录
    sed -i 's#^basedir=$#basedir='${mysqlBasedir}'#' /etc/init.d/mysqld
    sed -i 's#^datadir=$#datadir='${mysqlDatadir}'#' /etc/init.d/mysqld
    
    #配置文件
    cat > ${mysqlBasedir}/default-my.cnf  <<END
    [client]
    port            = 3306
    socket          = /tmp/mysql.sock
    [mysqld]
    port            = 3306
    socket          = /tmp/mysql.sock
    skip-external-locking
    key_buffer_size = 16M
    max_allowed_packet = 1M
    table_open_cache = 64
    sort_buffer_size = 512K
    net_buffer_length = 8K
    read_buffer_size = 256K
    read_rnd_buffer_size = 512K
    myisam_sort_buffer_size = 8M
    
    log-bin=mysql-bin
    binlog_format=mixed
    server-id       = 1
    
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    
    [mysqldump]
    quick
    max_allowed_packet = 16M
    
    [mysql]
    no-auto-rehash
    
    [myisamchk]
    key_buffer_size = 20M
    sort_buffer_size = 20M
    read_buffer = 2M
    write_buffer = 2M
    
    [mysqlhotcopy]
    interactive-timeout
    END
    chown mysql:mysql ${mysqlBasedir}/default-my.cnf
    chmod 755 /etc/init.d/mysqld
    /etc/init.d/mysqld start
    ln -sb ${mysqlBasedir}/bin/mysql /usr/bin/mysql
    chmod 755 /usr/bin/mysql
  • 相关阅读:
    emacs写cnblog博客
    emacs写cnblog博客
    linux安装jdk
    linux远程服务器启动mysql时显示:/tmp/mysql.sock 不存在的解决方法
    最新Linux系统下安装MySql 5.7.17全过程及注意事项
    Xshell实现Windows上传文件到Linux主机
    4种java定时器
    微信的redirect_uri参数错误解决办法
    要善于借势破局——宁向东的清华管理学课第4课
    Java内存区域
  • 原文地址:https://www.cnblogs.com/mjorcen/p/3787855.html
Copyright © 2011-2022 走看看