longpan 发表于 2018-10-11 08:31:24

mysql自动安装脚本

  为适应自己工作习惯和需要,花一点时间写了一个mysql自动安装脚本,供大家参考学习。
  注意:
  1、需要先安装cmake
  2、数据库版本需要在第二步安装mysql时修改
  3、该脚本是以root用户安装并启动
  脚本内容如下:
  ########################################################################
  #mysql自动安装脚本,其中变量/mysql_v_dir/和/port/可根据实际需要修改    #
  #执行脚本命令:shmysql_install.sh >mysql_install.log                  #
  ########################################################################
  ####0.定义mysql目录####
  mk_mysqldir=/tmp/setup                ##mysql安装包所在目录
  mysql_v_dir=mysql_5611                ##mysql version directry
  mysql_dir=/home/mysql/$mysql_v_dir    ##the path where mysql install
  port=5611                           ##端口号
  ####1.创建mysql用户和组####
  #user=`cat/etc/passwd |grep mysql`
  #if [ -z $user ]
  #then
  #groupadd mysql
  #useradd mysql -d/home/mysql -g mysql
  #else
  #userdel mysql
  #groupdel mysql
  #groupadd mysql
  #useradd mysql -d/home/mysql -g mysql
  #fi
  cd /home/mysql
  mkdir $mysql_v_dir
  cd $mysql_dir
  mkdir data log tmpetc
  #chown mysql:mysqldata log tmp etc
  ####2.安装mysql####
  cd $mk_mysqldir
  tar -xzfmysql-5.6.16.tar.gz
  cd mysql-5.6.16
  ##cmake install##
  cmake\
  -DCMAKE_INSTALL_PREFIX=${mysql_dir}\
  -DINSTALL_MYSQLDATADIR=${mysql_dir}/data\
  -DMYSQL_DATADIR=${mysql_dir}/data\
  -DSYSCONFDIR=${mysql_dir}/etc    \
  -DWITH_INNOBASE_STORAGE_ENGINE=1\
  -DDEFAULT_CHARSET=utf8   \
  -DDEFAULT_COLLATION=utf8_general_ci\
  -DMYSQL_TCP_PORT=5535\
  -DMYSQL_UNIX_ADDR=${mysql_dir}/tmp/mysql.sock\
  -DWITH_EXTRA_CHARSETS=all
  make ; make install
  ####3.创建并修改配置文件#####
  cat
  relay_log_index          =>  # warning &error log
  log-warnings             = 1
  log-error       = $mysql_dir/log/mysql.err
  log-output               = FILE
  # slow query log
  slow_query_log         = 1
  long-query-time          = 1
  slow_query_log_file      = $mysql_dir/log/slow.log
  #log-queries-not-using-indexes
  #log-slow-slave-statements
  general_log            = 1
  general_log_file         = $mysql_dir/log/mysql.log
  max_binlog_size          = 1G
  max_relay_log_size       = 1G
  # if use auto-ex,set to 0
  relay-log-purge          = 1
  # max binlog keepsdays
  expire_logs_days         = 7
  binlog_cache_size      = 1M
  # replication
  #replicate-wild-ignore-table   = mysql.%
  #replicate-wild-ignore-table   = test.%
  #slave_skip_errors=all
  key_buffer_size               = 30M
  sort_buffer_size                = 2M
  read_buffer_size                = 2M
  join_buffer_size                = 8M
  read_rnd_buffer_size            = 8M
  bulk_insert_buffer_size         = 64M
  myisam_sort_buffer_size         = 64M
  myisam_max_sort_file_size       = 10G
  myisam_repair_threads         = 1
  myisam_recover
  group_concat_max_len            = 64K
  transaction_isolation         = REPEATABLE-READ
  innodb_file_per_table
  #############mysql5.5new################
  innodb_file_format =Barracuda
  ########################################
  innodb_additional_mem_pool_size= 10M
  innodb_buffer_pool_size         = 200M
  innodb_data_home_dir            = $mysql_dir/data/
  innodb_data_file_path         = ibdata1:100M:autoextend
  ################mysql5.5new############
  innodb_read_io_threads          = 8
  innodb_write_io_threads         = 8
  innodb_purge_threads            = 1
  ########################################
  innodb_thread_concurrency       = 16
  innodb_flush_log_at_trx_commit= 1
  innodb_log_buffer_size          = 16M
  innodb_log_file_size            = 50M
  innodb_log_files_in_group       = 2
  innodb_log_group_home_dir       = $mysql_dir/data/
  innodb_max_dirty_pages_pct      = 90
  innodb_lock_wait_timeout      = 50
  #innodb_flush_method            = O_DSYNC
  ################mysql5.6new#####################
  innodb_buffer_pool_instances    = 16
  innodb_change_buffering         = all
  innodb_adaptive_flushing      = 1
  innodb_io_capacity            = 2000
  innodb_old_blocks_time          = 1000
  innodb_stats_on_metadata      = 0
  #################################################
  old-passwords                   = 0
  
  quick
  max_allowed_packet            = 64M
  
  no-auto-rehash
  default-character-set         = utf8
  connect-timeout               = 3
  
  key_buffer_size =256M
  sort_buffer_size =256M
  read_buffer = 2M
  write_buffer = 2M
  
  interactive-timeout
  EOF
  ####4.初始化数据库并启动####
  cd$mysql_dir/scripts
  ./mysql_install_db--basedir=$mysql_dir --datadir=$mysql_dir/data --user=root
  cd $mysql_dir/bin
  ./mysqld_safe--defaults-file=$mysql_dir/etc/my.cnf --user=root &
  ####5.添加mysql命令到环境变量中####
  echo "exportPATH=$mysql_dir/bin:$PATH" >>/root/.bash_profile
  source/root/.bash_profile

页: [1]
查看完整版本: mysql自动安装脚本