zoukankan      html  css  js  c++  java
  • MySQL脚本自动安装mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz

    脚本安装mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz

    先准备好数据文件的路径

    softdir='/data/soft'

    把脚本和tar包放在相应的路径下,其实就是源码安装的一个shell封装,记得修改innodb的一些参数

    #!/bin/bash
    clear
    echo "========================================================================="
    echo ""
    echo "Mysql for Centos6.x Install scripts "
    echo "Default Install PATH:/usr/local/mysql"
    echo "Default mysql default password:mysql"
    echo "========================================================================="
    echo ""
    echo ""
    
    read -p "If the OK! Press any key to start..."
    basedir='/usr/local/mysql'
    datadir='/data/mysqldata/3306'
    softdir='/data/soft'
    user='mysql'
    group='mysql'
    logs=/tmp/install`date +%F`.log
    port=3306
    curDate=`date +'%Y%m%d'`
    myFile=mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz
    
    echo "`date +%F` beginning !" >>$logs
    #create mysql datadir
    if [ ! -d $datadir ];then
            mkdir -p /data/mysqldata/{3306/{data,tmp,binlog,slave,log/iblog},backup,scripts}
             echo -e "create datadir the mysql" >>$logs
    fi
    
    #create mysql basedir
    #if [ ! -d $basedir ];then
    #        mkdir -p /usr/local/mysql
    #        echo -e "create basedir the mysql" >>$logs
    #fi
    
    #create mysqlsoft basedir
    if [ ! -d $softdir ];then
            mkdir -p /data/soft
             echo -e "create basedir the mysql" >>$logs
    fi
    
    base() {
    echo "EVN Initialization..."
    yum install -y gcc gcc-*  make cmake gcc-c++  libaio libaio-devel bison bison-devel autoconf automake zlib*  libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* --skip-broken
    sleep 3
    yum install -y openssl openssl-devel ncurses ncurses-devel --skip-broken
    sleep 3
    yum install -y 'perl(Data::Dumper)'
    groupadd mysql
    useradd -g mysql mysql
    }
    
    download() {
    echo "Download soft..."
    cd $softdir
    if [ ! -f "$myFile" ]; then  
     # wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz
      #echo -e "download soft  the mysql" >>$logs
      echo -e "cannt find mysql file,pls download" >>$logs
      exit 1
    fi
    }
    
    install(){
    cd $softdir
    tar -zxvf mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
    cd /usr/local/
    ln -s mysql-5.6.15-linux-glibc2.5-x86_64 mysql
    echo -e "use mysql blibc to install" >>$logs
    
    touch /data/mysqldata/3306/my.cnf
    export MYSQL_PORT=${port}
    ## generate server id
    server_id=`date +'%y%m%d%H%M'`
    export MYSQL_SERVER_ID=${server_id}
    
    cat >> /data/mysqldata/3306/my.cnf << EOF
    [client]
    port=3306
    socket=/data/mysqldata/3306/mysql.sock
    
    [mysql]
    prompt = [\u@\p][\d]>\_
    no-auto-rehash
    pid_file=/data/mysqldata/3306/mysqld.pid
    
    [mysqldump]
    single-transaction
    
    [mysqld]
    autocommit=1
    general_log=off
    explicit_defaults_for_timestamp=true
    #character set
    character-set-server = utf8
    event_scheduler = 1
    
    # system
    basedir=/usr/local/mysql
    datadir=/data/mysqldata/3306/data
    max_allowed_packet=32M
    max_connections=300
    max_user_connections=280
    max_connect_errors = 1000000
    open_files_limit=65535
    query_cache_type=0
    query_cache_size=0
    
    #timeout
    lock_wait_timeout=120
    interactive_timeout = 300
    wait_timeout = 300
    
    port=3306
    server_id=${MYSQL_SERVER_ID}
    
    skip_name_resolve=ON
    socket=/data/mysqldata/3306/mysql.sock
    tmpdir=/data/mysqldata/3306/tmp
    
    #binlog
    log_bin=/data/mysqldata/3306/binlog/mysql-bin
    binlog_cache_size=32K
    binlog_format=row
    #expire_logs_days=90
    log_slave_updates=ON
    max_binlog_cache_size=1G
    max_binlog_size=500M
    sync_binlog=1
    #transaction-isolation=READ-COMMITTED
    
    #logging
    log_error=/data/mysqldata/3306/log/mysql-error.log
    slow_query_log_file=/data/mysqldata/3306/log/mysql-slow.log
    log_queries_not_using_indexes=0
    slow_query_log=1
    log_slave_updates=ON
    log_slow_admin_statements=1
    long_query_time=2
    log-bin-trust-function-creators = 1
    
    #gitd
    #gtid_mode = on
    #enforce_gtid_consistency = 1
    
    #relay
    relay_log=/data/mysqldata/3306/slave/relaylog
    relay_log_index=/data/mysqldata/3306/slave/mysqld-relay-bin.index
    relay_log_info_file=/data/mysqldata/3306/slave/relay-log.info
    relay_log_recovery = 1
    
    #slave
    slave_load_tmpdir=/data/mysqldata/3306/tmp
    slave_skip_errors=1032,1062
    skip-slave-start
    
    #innodb
    innodb_data_home_dir=/data/mysqldata/3306/log/iblog
    innodb_log_group_home_dir=/data/mysqldata/3306/log/iblog
    innodb_adaptive_flushing=ON
    innodb_adaptive_hash_index=ON
    innodb_autoinc_lock_mode=2
    innodb_buffer_pool_instances=2
    
    #default
    innodb_change_buffering=inserts
    innodb_checksums=ON
    innodb_buffer_pool_size= 1024M
    innodb_data_file_path=ibdata1:1G:autoextend
    innodb_doublewrite=ON
    innodb_file_format=Barracuda
    innodb_file_per_table=ON
    innodb_flush_log_at_trx_commit=1
    innodb_flush_method=O_DIRECT
    innodb_io_capacity=1000
    innodb_lock_wait_timeout=10
    innodb_log_buffer_size=200M
    innodb_log_file_size=1G
    innodb_log_files_in_group=4
    innodb_max_dirty_pages_pct=60
    innodb_open_files=60000
    innodb_purge_threads=4
    innodb_stats_on_metadata=OFF
    innodb_support_xa=ON
    innodb_use_native_aio=OFF
    innodb_write_io_threads = 8
    innodb_read_io_threads = 8
    
    [mysqld_safe]
    datadir=/data/mysqldata/3306/data
    
    EOF
    chown -R mysql:mysql /usr/local/mysql/
    chown -R mysql:mysql /data/mysqldata/
    #su - mysql
    sudo -u mysql /usr/local/mysql/scripts/mysql_install_db --defaults-file=/data/mysqldata/3306/my.cnf --datadir=/data/mysqldata/3306/data --basedir=/usr/local/mysql --user=mysql
    sleep 3
    sudo -u mysql /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf &
    echo 'export PATH="/usr/local/mysql/bin:$PATH"' >>/home/mysql/.bash_profile
    echo 'export LANG=en_US.UTF-8' >>/home/mysql/.bash_profile
    echo 'export MYSQL_PS1="(u@h:p) [d]> "' >>/home/mysql/.bash_profile
    source /home/mysql/.bash_profile
    }
    
    end() {
    clear
    echo ""
    
    echo ""
    }
    
    ##设置显示脚本运行时间##
    function start_time()
    {
      start_time="$(date +%s)"
      echo "$(date) 开始安装!!"
      echo "$start_time" > /tmp/install_lnmp_runtime
    }
    function end_time()
    {
       end_time="$(date +%s)"
       total_s=$(($end_time - $start_time))
       total_m=$(($total_s/60))
       if [ $total_s -lt 60 ]; then
           time_en="${total_s} 秒"
       else
           time_en="${total_m} 分"
       fi
       echo "$(date) 完成安装"
       echo "运行install_lnmp.sh 所花的时间:${time_en}">/tmp/install_lnmp_runtime
       echo "总共运行时间: ${time_en}"
    }
    
    main() {
        start_time
        echo "Installtion MYSQL..."
        base
        download
        install
        end
        end_time
    }
    
    main
  • 相关阅读:
    BZOJ2142: 礼物
    GYM100633J. Ceizenpok’s formula 扩展lucas模板
    Codeforces451E Devu and Flowers
    BZOJ2982: combination Lucas模板
    UVAL3700
    BZOJ2821: 作诗(Poetize)
    BZOJ2724: [Violet 6]蒲公英
    Luogu P1858 多人背包
    Luogu P2831 愤怒的小鸟(状压+记忆化搜索)
    Luogu P4205 [NOI2005]智慧珠游戏
  • 原文地址:https://www.cnblogs.com/yhq1314/p/9935330.html
Copyright © 2011-2022 走看看