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

 

posted @ 2018-11-09 15:21  春困秋乏夏打盹  阅读(608)  评论(0编辑  收藏  举报