#!/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=3306curDate=`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" >>$logsfi#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" >>$logsfi
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
sleep3yum install-y openssl openssl-devel ncurses ncurses-devel --skip-broken
sleep3yum 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" >>$logsexit1fi
}
install(){
cd$softdirtar-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" >>$logstouch/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=3306socket=/data/mysqldata/3306/mysql.sock
[mysql]
prompt= [\\[email protected]\\p][\\d]>\\_
no-auto-rehash
pid_file=/data/mysqldata/3306/mysqld.pid
[mysqldump]
single-transaction
[mysqld]
autocommit=1general_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=300max_user_connections=280max_connect_errors= 1000000open_files_limit=65535query_cache_type=0query_cache_size=0
#timeout
lock_wait_timeout=120interactive_timeout= 300wait_timeout= 300port=3306server_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=0slow_query_log=1log_slave_updates=ON
log_slow_admin_statements=1long_query_time=2log-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,1062skip-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=2innodb_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=1innodb_flush_method=O_DIRECT
innodb_io_capacity=1000innodb_lock_wait_timeout=10innodb_log_buffer_size=200M
innodb_log_file_size=1G
innodb_log_files_in_group=4innodb_max_dirty_pages_pct=60innodb_open_files=60000innodb_purge_threads=4innodb_stats_on_metadata=OFF
innodb_support_xa=ON
innodb_use_native_aio=OFF
innodb_write_io_threads= 8innodb_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
sleep3sudo-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=""‘ >>/home/mysql/.bash_profile
source/home/mysql/.bash_profile
}end() {
clear
echo""echo""}##设置显示脚本运行时间##
functionstart_time()
{
start_time="$(date +%s)"echo"$(date) 开始安装!!"echo"$start_time" > /tmp/install_lnmp_runtime
}functionend_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} 秒"
elsetime_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
installendend_time
}
main