为适应自己工作习惯和需要,花一点时间写了一个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

转载于:https://blog.51cto.com/jianhuchenmou/1887683

mysql自动安装脚本相关推荐

  1. mysql 自动安装脚本_mysql 5.7自动安装脚本

    mysql_version=mysql-5.7.23-linux-glibc2.12-x86_64 install_pack=/root/$mysql_version.tar.gz # 将mysql安 ...

  2. Mysql自动备份脚本

    1.Mysql自动备份脚本 #!/bin/sh # 数据库基本信息 #数据库名称 DB_NAME="test" #用户名 DB_USER="root" #密码 ...

  3. mysql脚本简书,mysql一键安装脚本

    #!/bin/bash #MySQL一键安装脚本 #脚本运行前请确认本机没有安装其他版本的MySQL #运行脚本前请详细阅读my.cnf文件 PASSWORD=`cat my.cnf | grep p ...

  4. httpd-2.2.21 + php-5.3.8 自动安装脚本

    httpd-2.2.21 + php-5.3.8 自动安装脚本 http://netkiller.github.com/#!/bin/bash #=========================== ...

  5. mysql 自动复制_MySQL 复制搭建(附mysql自动搭建脚本)

    # MySQL 复制搭建(附mysql自动搭建脚本) 1. 用自动化脚本拉起一个mysql数据库,作为主库 `[root@upright92 mysql]# ./install_mysql.py 33 ...

  6. Puppet客户端自动安装脚本

    运维自动化发展已经是势不可挡,传统的靠大量人力运维的方式渐不能满足企业IT发展的需求,其中Puppet自动化更是受到IT人士的青睐,那今天我们一起来研究一下puppet客户端的自动安装脚本.脚本不足之 ...

  7. Linux从入门到精通——自动安装脚本

    ###kickstart 自动安装脚本的制作### KickStart是什么,有什么作用?    KickStart是一种无人职守安装方式.KickStart的工作原理是通过记录典型的安装过程中所需人 ...

  8. Hadoop自动安装脚本

    Hadoop自动安装脚本 文章目录 Hadoop自动安装脚本 前言 脚本说明 脚本截图 后记 前言 最近在学习大数据的相关知识,对于 Hadoop的安装这一块,身边不少同学安装都存在许多问题,不行安装 ...

  9. Nginx自动安装脚本

    如下脚本为Nginx自动安装脚本,仅供参考,可以根据实际情况修改,这里使用case方式,真实环境安装可以去掉case这种模式,全自动安装. #!/bin/sh ###nginx install she ...

最新文章

  1. 自我介绍(老师作业,大神自行忽略)
  2. Virtual Studio 2010介绍及下载
  3. 1-10所有5个数的组合_121期大乐透:关注10+5、重点号6个
  4. android游戏源码 2048,Android实现2048小游戏
  5. 2018-10-8-如何安装-btsync
  6. BSS,ESS,SSID,BSSID,ESSID,VAP概念详解
  7. ps4正在连接ea服务器,ps4极品飞车19连不上ea服务器 | 手游网游页游攻略大全
  8. python输出excel指定列为文本格式_POI设置excel某列值为文本格式
  9. Python获取指定月份的所有天数
  10. 如何配置一台能够进行Gromacs科学计算的电脑
  11. LCCUP 力扣杯2020秋季编程大赛题解
  12. 1一10到时的英文单词_1到10的英文单词
  13. ArcGIS空间数据查询与处理
  14. php许愿墙mysql_许愿墙的搭建基于mysql
  15. Springboot 设置post参数大小: 解决报错The multi-part request contained parameter data (excluding uploaded files
  16. wordpress如何访问网页时显示域名不显示ip
  17. 秒懂Excel的三种引用
  18. Nvidia回应Linux之父的指责 坚持不做任何让步
  19. [渝粤教育] 中国地质大学 高等数学(二) 复习题
  20. vmware虚拟机系统esxi不能识别不兼容网卡解决方案

热门文章

  1. 任丽萍跟我赌200块钱的
  2. HttpHandler解析并展示PDF文档内容
  3. BXP_4.1安装配置及域应用随记一
  4. 利用iTextSharp把DataTable导出为PDF和RTF(Rich Text Format)文件
  5. 图片异步加载框架 Android-Universal-Image-Loader
  6. 执行jar包中的某个类
  7. System.out和System.err的区别
  8. 在ubuntu系统下cocos2dx移植到android平台
  9. redis缓存雪崩,缓存穿透,缓存击穿的解决方法
  10. 【译】Effective TensorFlow Chapter11——在TensorFlow中调试模型