mysql自动安装脚本

为适应自己工作习惯和需要,花一点时间写了一个mysql自动安装脚本,供大家参考学习。

注意:

1、需要先安装cmake

2、数据库版本需要在第二步安装mysql时修改

3、该脚本是以root用户安装并启动

脚本内容如下:

########################################################################

#mysql自动安装脚本,其中变量/mysql_v_dir/和/port/可根据实际需要修改    #

#执行脚本命令:sh
mysql_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 tmp
etc

#chown mysql:mysql
data log tmp etc

####2.安装mysql####

cd $mk_mysqldir

tar -xzf
mysql-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 <<EOF
>$mysql_dir/etc/my.cnf

[client]

port            = $port

socket          = $mysql_dir/tmp/mysql.sock

[mysqld]

port                = $port

basedir         = $mysql_dir/

socket              = $mysql_dir/tmp/mysql.sock

pid-file        = $mysql_dir/data/mysql.pid

datadir         = $mysql_dir/data/

tmpdir              = $mysql_dir/tmp/

slave-load-tmpdir   = $mysql_dir/tmp/

# skip lever

skip-name-resolve

skip-symbolic-links

skip-external-locking

skip-slave-start

#thread level

table_open_cache =
2048

#############connect############

back_log                 = 50

max_connections          = 1000

max_connect_errors       = 10000

#open_files_limit         = 10240

##############timeout###########

connect-timeout          = 10

wait-timeout             = 800

interactive-timeout      = 800

slave-net-timeout        = 60

net_read_timeout         = 30

net_write_timeout        = 60

net_retry_count          = 10

net_buffer_length        = 16384

max_allowed_packet       = 64M

#################
cache #############

table_open_cache              = 2048

thread_stack             = 192K

thread_cache_size        = 100

thread_concurrency       = 16

# qcache settings

query_cache_size         = 20m

query_cache_limit        = 2M

query_cache_min_res_unit
= 2K

# default settings

# time zone

default-time-zone        = system

character-set-server     = utf8

default-storage-engine   = InnoDB

# tmp & heap

tmp_table_size           = 512M

max_heap_table_size      = 512M

log-bin                  = mysql-bin

log-bin-index            = mysql-bin.index

relay-log                = relay-log

relay_log_index          = 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 keeps
days

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.6
new#####################

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

[mysqldump]

quick

max_allowed_packet              = 64M

[mysql]

no-auto-rehash

default-character-set           = utf8

connect-timeout                 = 3

[myisamchk]

key_buffer_size =
256M

sort_buffer_size =
256M

read_buffer = 2M

write_buffer = 2M

[mysqlhotcopy]

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 "export
PATH=$mysql_dir/bin:$PATH" >>/root/.bash_profile

source
/root/.bash_profile

时间: 2024-10-23 14:43:32

mysql自动安装脚本的相关文章

mysql 自动安装脚本,记得提前安装依赖包

CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found. yum install -y gcc gcc-c++

mysql自动化安装脚本开发

最近正好有空闲时间进行mysql自动安装脚本开发,预计先用shell实现一个版本,后续继续用python改造开发,最终实现python版本的开发. 2019-3-18,完成shell脚本的mysql自动化安装脚本的开发与调试.信息如下:mysql版本为5.6.43,通过shell函数的方式实现数据安装的3个阶段,再加上一个全局阶段,共4个阶段 1.全局阶段通过if [ $(id -u) != "0" ]判断当前操作用户是否为root,如不等0,则提示用户使用root用户执行该脚本,实现

mysql 自动备份和nginx自动安装脚本

一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 BAKDIR=/data/backup/mysql/`date +%Y-%m-%d` MYSQLDB=webapp MYSQLPW=backup MYSQLUSR=backup #must use root user run scripts 必须使用root用户运行,$UID为系统变量 if [

ipvsadm+keepalived+inotify-tools自动安装脚本

#!/bin/bash # # #this is install keepalived+lvs-DR # # tar_dir=/usr/src configure_yum() { echo "[rhel-local]">/etc/yum.repos.d/rhel-local.repo echo "baseurl=file:///media/Server">>/etc/yum.repos.d/rhel-local.repo echo "en

linux下PXE无人值守环境自动安装脚本

当时单位要安装一套linux的PXE无人值守装机程序,装完后花了九牛二虎之力写了一个自动安装脚本,以便今后安全方便,不过后来就没怎么用了,甚至都有些淡忘了,哈哈,分享出来,有研究PXE自动安装的可以看看,在使用的时候里面的ip地址要换掉的. #!/bin/sh #writer:gaolixu yum -y install dhcp tftp-server vsftpd syslinux xinetd if ! service dhcpd status ;then ############### 

Windows ftp脚本和RSCD agent自动安装脚本

Windows ftp脚本 和bladelogic RSCD Agent自动安装脚本 @echo off if %PROCESSOR_ARCHITECTURE:~-1%==4 ( netsh advfirewall firewall add rule name="all tcp 4750" dir=in protocol=tcp localport=475 action=allow netsh advfirewall firewall add rule name="all t

ELK自动安装脚本

ELK自动安装脚本 一.简介 ELK由Elasticsearch.Logstash和Kibana三部分组件组成: Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash是一个完全开源的工具,它可以对你的日志进行收集.分析,并将其存储供以后使用 kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web

【MongDB运维】MongDB自动安装脚本--rpm包安装版

#!/bin/bash # Version:  v1.0 by Jason_Asia on 2014-05-14 # Desc:     auto install mongodb rpm packages software_dir=/home/dba/software/mongodb ##{{{ check mongodb install status mongod_thread_status="`netstat -nltp | grep mongod | wc -l`" if [ $

【redis运维】redis自动安装脚本(只安装redis)

Redis自动安装部署 本文总共分为4个部分: redis自动安装脚本目录结构说明: redis自动安装脚本内容: redis的操作系统服务脚本说明: 本文引用的资料链接地址. 说明:本文未涉及redis内存分配器部分的内容. 第一部分 Redis自动安装脚本目录结构说明: # ls 查看当前目录包含以下3个文件 -- install_redis.sh        # redis自动安装脚本 -- redis-2.8.9.tar.gz      # redis安装包(需make,make te