#! /bin/bash
# v.mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz
# only install master mysql
# time:2016-08-15 # pkg dir
pkg_dir=`pwd` # mysql base dir
data_dir="/data/mysql_root/mysql"
base_dir="/usr/local/mysql" # create MySQL group and user
echo "start create mysql group and user" >> ${pkg_dir}/install.log groupadd mysql
useradd -g mysql mysql -s /sbin/nologin echo "end mysql group and user" >> ${pkg_dir}/install.log # mysql datafile path
# install mysqld
# grant privileges
mkdir -p ${data_dir}/data 2>/dev/null
chown -R mysql:mysql ${data_dir}/data
# un_tar.gz and install mysql programmer
echo "start un_tar.gz..." >> ${pkg_dir}/install.log
cd ${pkg_dir} && tar -xf mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz -C /usr/local && cd /usr/local && mv mysql-5.6.30-linux-glibc2.5-x86_64 mysql; echo "end install mysql" >> ${pkg_dir}/install.log echo "set mysql my.cnf params" >> ${pkg_dir}/install.log # stored mysqld multi execute log
mkdir -p ${base_dir}/multi_log 2>/dev/null # comm parameter of my.cnf
cat<<EOF > ${base_dir}/my.cnf
# The mysqld multi instance
[mysqld_multi]
mysqld = ${base_dir}/bin/mysqld_safe
mysqladmin = ${base_dir}/bin/mysqladmin
log =${base_dir}/multi_log/mysqld_multi.log [mysqldump]
quick
max_allowed_packet = 16M [mysql]
no-auto-rehash [myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M [mysqlhotcopy]
interactive-timeout EOF # other my.cnf parameter part
pre_install_mysqld(){
cat<<EOF >> ${base_dir}/my.cnf
# The MySQL server
[mysqld${port:2}]
port = ${port}
socket = ${data_dir}/data${port}/mysql.socket
max-connections = 800
skip-name-resolve
skip-external-locking
key_buffer_size = 384M
max_allowed_packet = 1073M
table_open_cache = 512
sort_buffer_size = 512K
read_buffer_size = 512K
read_rnd_buffer_size = 512K
join_buffer_size = 128K
myisam_sort_buffer_size = 64M
thread_cache_size = 256
query_cache_size = 0
query_cache_type = 0
tmp_table_size = 64M
max_heap_table_size = 64M basedir=${base_dir}
datadir=${data_dir}/data${port} pid-file = ${data_dir}/data${port}/mysql.pid
log_error = ${data_dir}/data${port}/mysql.err # set binary logging is required for replication
log-bin=mysql-bin
binlog_cache_size = 32M # event_scheduler shutoff in mysqld slave
event_scheduler = 1
binlog_format=row
expire_logs_days = 3 # set slow log
slow_query_log = 1
long_query_time = 2 #set 字符
character_set_server = utf8 #set 大小写敏感 lower_case_table_names=1 # set mysqld server_id
server-id = ${port} # set innodb params
innodb_data_home_dir = ${data_dir}/data${port}
innodb_log_group_home_dir = ${data_dir}/data${port}
innodb_buffer_pool_size = 5972M
innodb_additional_mem_pool_size = 10M
innodb_log_file_size = 512M
innodb_log_buffer_size = 16M
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
innodb_file_per_table = 1
innodb_lock_wait_timeout = 10
innodb_file_format = Barracuda
innodb_file_format_max = Barracuda
innodb_stats_on_metadata = 0
innodb_purge_threads = 1
innodb_read_io_threads = 12
innodb_write_io_threads = 12
innodb_purge_threads = 1
innodb_open_files = 500
innodb_thread_concurrency = 0
innodb_io_capacity = 600 [client]
default-character-set = utf8 EOF
# initizal mysql Db
chmod +x ${base_dir}/scripts/mysql_install_db
${base_dir}/scripts/mysql_install_db --basedir=${base_dir} --datadir=${data_dir}/data${port} --user=mysql --defaults-file=${base_dir}/my.cnf >> ${pkg_dir}/install.log
echo "end mysqld install." >> ${pkg_dir}/install.log
} # mysql datafile path
for port in 2016 3017 4018 5019 6020
do
# check mysql base and data dir folder
if [ ! -d ${data_dir}/data${port} ];then
mkdir -p ${data_dir}/data${port}
# function mysqld_install to mysql programmer
pre_install_mysqld $port
else
pre_install_mysqld $port
fi
done #mysql data
chown -R mysql:mysql ${data_dir}/data
chown -R mysql:mysql ${base_dir}/data #环境变量
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
source /etc/profile

  

mysql多实例安装脚本的更多相关文章

  1. linux下mysql多实例安装

    1.MySQL多实例介绍 1.1.什么是MySQL多实例 MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过不同的socket监听不同的 ...

  2. linux下mysql多实例安装(转)

    转自:http://www.cnblogs.com/xuchenliang/p/6843990.html   1.MySQL多实例介绍 1.1.什么是MySQL多实例 MySQL多实例就是在一台机器上 ...

  3. Mysql多实例安装+主从复制+读写分离 -学习笔记

    Mysql多实例安装+主从复制+读写分离 -学习笔记 .embody{ padding:10px 10px 10px; margin:0 -20px; border-bottom:solid 1px ...

  4. Windows下MySQL多实例安装/主从复制/重置密码

    Windows创建MySQL多实例 安装MYSQL和实例1 运行mysql-installer-community-5.7.16.0.msi 选择组件 MySQL Server 5.7.16 – X6 ...

  5. mysql多实例安装与ssl认证

    mysql多实例安装有两种形式: 同一数据库版本的多实例安装. 不同数据库版本的多实例安装. 同一数据库的多实例安装: 在同一台机器上安装4台mysql数据库实例. 从官网下载MySQL5.6版本的二 ...

  6. Mysql多实例 安装以及配置

    MySQL多实例 1.什么是MySQL多实例 简单地说,Mysql多实例就是在一台服务器上同时开启多个不同的服务端口(3306.3307),同时运行多个Mysql服务进程,这些服务进程通过不同的soc ...

  7. MySQL多实例安装教程

    目录 MySQL的多实例 实验准备: 准备阶段: 实验阶段 MySQL的多实例 实验准备: 1. 一个干净的centos7系统 2. 关闭防火墙和selinux 3. 之前已经二进制安装过的MySQL ...

  8. windows下mysql多实例安装

    在学习和开发过程中有时候会用到多个MySQL数据库,比如Master-Slave集群.分库分表,开发阶段在一台机器上安装多个MySQL实例就显得方便不少. 在 MySQL教程-基础篇-1.1-Wind ...

  9. mysql多实例安装详解

    首先说明一个场景:我的电脑是ubuntu系统,之前apt-get自动安装过mysql.这也是出现错误最多的原因之一. 安装过程,其中充斥着各种错误: 6.mkdir mysql 7.groupadd  ...

随机推荐

  1. Java注解实践--annotation学习三

    注解对代码的语意没有直接影响, 他们只负责提供信息给相关的程序使用. 注解永远不会改变被注解代码的含义, 但可以通过工具对被注解的代码进行特殊处理. JDK 基本Annotation 注解 说明 @O ...

  2. Python基础10 反过头来看看

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 从最初的"Hello World",走到面向对象.该回过头来看 ...

  3. 多窗体之间方法调用 z

    C# Code: /// <summary> /// 主窗体接口 /// </summary> public interface IMdiParent{   void Pare ...

  4. sql2008连接数据库问题

    配置系统未能初始化 (System.Configuration) ------------------------------ 无法识别的配置节 runtime. (C:\Program Files ...

  5. [Flex] PopUpButton系列 —— 控制弹出菜单的透明度、可用、可选择状态

    <?xml version="1.0" encoding="utf-8"?><!--控制弹出菜单的透明度.可用.可选择状态 PopUpButt ...

  6. 出现java.lang.NoClassDefFoundError: com/google/common/base/Charsets异常错误

    使用selenium,出现java.lang.NoClassDefFoundError: com/google/common/base/Charsets异常错误 原因:selenium-server- ...

  7. http://host:8399/arcgis/rest/services/ 访问不了

    一.问题: 安装完arvserver后,rest服务http://host:8399/arcgis/rest/services/访问不了 二.问题原因: 查看了一下manager日志,其中记录了几个r ...

  8. bat操作数据库mysql

    createDB.bat文件内容: @echo off cd C:/Program Files/cl_ZWL_App/<a href="http://lib.csdn.net/base ...

  9. Delphi中自画TStatusBar面板中的文字颜色背景以及图片

    转自 http://www.delphitop.com/html/kongjian/351.html 首先定义:procedure TStatusForm.FormCreate(Sender: TOb ...

  10. Python 之字节转换

    # coding: utf-8 def bytes2human(n): """ >>> bytes2human(10000) 9K >>&g ...