多实例介绍:

  mysql多实例就是一台服务器开启多个不同的服务端口(3306,3307),运行多个MySQL服务进程,这些服务进程通过不同的socket监听不同的服务端口来提供各自的服务端口。

  这些mysql多实例共用一套mysql安装程序,使用不同的my.cnf配置文件、启动程序、数据文件。在提供服务时,多实例MySQL在逻辑上看来十个字独立的,多个实例之间是根据配置文件的设定值,来取得服务器的相关硬件资源

MySQL多实例常见配置方案

1.多配置文件方案
#通过多个配置文件及多个启动程序来实现多实例的方案 2.单一配置文件部署方案
#把所有的实例放在一个配置文件里,一个mysqld就是一个实例

安装配置多实例

1.建立MySQL多实例的条件
首先要用前面说过的四中安装方法之一(编译安装,cmake安装,yum安装,免编译安装)安装好数据库,
2.安装(看前面的) 3.开始配置
[root@MySQL /]# service mysqld stop
[root@MySQL /]# mkdir /data/{3306,3307}/data -p #创建多实例目录
[root@MySQL /]# cat /data/3306/my.cnf
####
[client]
port = 3306
socket = /tmp/mysql_3306.sock [mysql]
no-auto-rehash [mysqld]
user = mysql
port = 3306
socket = /tmp/mysql_3306.sock
basedir = /usr/local/mysql-5.5.54/
datadir = /data/3306/data/
open_files_limit = 1024
back_log = 600
max_connections = 800
max_connect_errors = 3000
table_cache = 614
external-locking = FALSE
max_allowed_packet = 8M
sort_buffer_size = 1M
join_buffer_size = 1M
thread_cache_size = 100
thread_concurrency = 2
query_cache_size = 2M
query_cache_limit = 1M
query_cache_min_res_unit = 2K
#default_table_type = InnoDB
thread_stack = 192K
#transaction_isolation = READ-COMMITTED
tmp_table_size = 2M
max_heap_table_size = 1
#log_long_format
log-error = /data/3306/error_3306.log
log-slow-queries = /data/3306/slow.log
pid-file = /data/3306/mysql.pid
log-bin = /data/3306/mysql-bin
relay-log = /data/3306/relay-bin
relay-log-info-file = /data/3306/relay-log.info
binlog_cache_size = 1M
max_binlog_cache_size = 1M
max_binlog_size = 2M
expire_logs_days = 7
key_buffer_size = 16M
read_buffer_size = 1M
read_rnd_buffer_size = 1M
bulk_insert_buffer_size = 1M
#myisam_sort_buffer_size = 1M
#myisam_max_sort_file_size = 10G
#myisam_max_extra_sort_file_size = 10G
#myisam_repair_threads = 1
#myisam_recover lower_case_table_names = 1
skip-name-resolve
slave-skip-errors = 1032,1062
replicate-ignore-db=mysql server-id = 1
innodb_additional_mem_pool_size = 4M
innodb_buffer_pool_size = 32M
innodb_data_file_path = ibdata1:128M:autoextend
innodb_file_io_threads = 4
innodb_thread_concurrency = 8
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
innodb_log_file-size = 4M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
innodb_file_per_table = 0 [mysqldump]
quick
max_allowed_packet = 2M [mysqld_safe]
log-error=/data/3306/mysql_3306.err
pid-file=/data/3306/mysqld_3306.pid
####
#另一个就不看了,把所有的3306换成3307即可
[root@MySQL /]# touch /data/3306/mysql_3306.err #创建相关错误日志文件
[root@MySQL /]# touch /data/3307/mysql_3307.err #创建相关错误日志文件
[root@MySQL /]# chown -R mysql.mysql /data
[root@MySQL /]# mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3306/data --user=mysql
[root@MySQL /]# mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3307/data --user=mysql
#初始化
[root@MySQL /]# mysqld_safe --defaults-file=/data/3306/my.cnf 2>&1 &
[root@MySQL /]# mysqld_safe --defaults-file=/data/3307/my.cnf 2>&1 &
#启动 #这里启动可以自己写个脚本,脚本放在下面 [root@MySQL /]# mysqladmin -uroot password -S /tmp/mysql_3306.sock
[root@MySQL /]# mysqladmin -uroot password -S /tmp/mysql_3307.sock
#为两个实例创建管理员和密码
[root@MySQL /]# mysql -uroot -p -S /tmp/mysql_3306.sock #连接数据库 #多实例到这里就安装完了

脚本

#!/bin/bash
PORT=3306
USERNAME="root"
PASSWORD="3306"
start_mysql()
{
printf "Starting MySQL...\n"
/bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/${PORT}/my.cnf 2>&1 > /dev/null &
}
stop_mysql()
{
printf "Stoping MySQL...\n"
/usr/local/mysql/bin/mysqladmin -u${USERNAME} -p${PASSWORD} -S /tmp/mysql_${PORT}.sock shutdown
}
restart_mysql()
{
printf "Restarting MySQL...\n"
stop_mysql
start_mysql
}
kill_mysql()
{
kill -9 $(ps -ef | grep 'bin/mysqld_safe' | grep ${PORT} | awk '{printf $2}')
kill -9 $(ps -ef | grep 'libexec/mysqld' | grep ${PORT} | awk '{printf $2}')
}
case $1 in
start)
start_mysql;;
stop)
stop_mysql;;
kill)
kill_mysql;;
restart)
restart_mysql;;
*)
echo "Usage: /data/dbdata_${mysql_port}/mysqld {start|stop|restart|kill}";;
esac

新增实例

这个不写,跟前面是一样的,增加一个数据目录,配置文件,脚本,授权,初始化,启动

Mysql进阶-day3的更多相关文章

  1. mysql进阶(二十九)常用函数

    mysql进阶(二十九)常用函数 一.数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) 返回大于x的最小整数值 EXP ...

  2. mysql进阶(二十八)MySQL GRANT REVOKE用法

    mysql进阶(二十八)MySQL GRANT REVOKE用法   MySQL的权限系统围绕着两个概念: 认证->确定用户是否允许连接数据库服务器: 授权->确定用户是否拥有足够的权限执 ...

  3. mysql进阶(二十七)数据库索引原理

    mysql进阶(二十七)数据库索引原理 前言   本文主要是阐述MySQL索引机制,主要是说明存储引擎Innodb.   第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础.    ...

  4. mysql进阶(二十六)MySQL 索引类型(初学者必看)

    mysql进阶(二十六)MySQL 索引类型(初学者必看)   索引是快速搜索的关键.MySQL 索引的建立对于 MySQL 的高效运行是很重要的.下面介绍几种常见的 MySQL 索引类型.   在数 ...

  5. mysql进阶(十六)常见问题汇总

    mysql进阶(十六)常见问题汇总 MySQL视图学习: http://www.itokit.com/2011/0908/67848.html 执行删除操作时,出现如下错误提示: 出现以上问题的原因是 ...

  6. 【转】MySQL— 进阶

    [转]MySQL— 进阶 目录 一.视图 二.触发器 三.函数 四.存储过程 五.事务 一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需 ...

  7. MySQL进阶(视图)---py全栈

    目录 mysql进阶(视图)---py全栈 一.什么是视图? 二.视图的特性 三.视图的优点 四.使用场合 五.视图基本操作 六.案例 mysql进阶(视图)---py全栈 一.什么是视图? 视图是从 ...

  8. mysql进阶练习

    一 .  MySQL进阶练习 /*==========================创建班级表=============================*/ CREATE TABLE class ( ...

  9. MySQL进阶19--函数的创建(举例)/设置mysql的创建函数的权限/查看(show)/删除(drop) / 举4个栗子

    /*MySQL进阶19 函数 存储过程和函数:都类似于java中的方法; 存储过程和函数通用好处: 1.提高代码的重用性 2.简化操作 好处: 减少操作次数,减少了编译次数,减少了和服务器的连接次数, ...

随机推荐

  1. hr中间插入字体

    修饰CSS:hr:before { content: "??";} hr:after { content: " This is an <hr> element ...

  2. HDOJ 5019 Revenge of GCD

    Revenge of GCD In mathematics, the greatest common divisor (gcd), also known as the greatest common ...

  3. centOS 7下无法启动网络(service network start)错误解决办法(应该是最全的了。。。)

    今天在centOS 7下更改完静态ip后发现network服务重启不了,翻遍了网络,尝试了各种方法,终于解决了. 现把各种解决方法归纳整理,希望能让后面的同学少走点歪路... 首先看问题:执行serv ...

  4. CSS3多列Multi-column布局

    Properties 属性 CSS Version 版本 Inherit From Parent 继承性 Description 简介 columns css3 无 设置或检索对象的列数和每列的宽度. ...

  5. Windump 的用法/Windump 是什么?

    Windump   Windump是Windows环境下一款经典的网络协议分析软件,其Unix版本名称为Tcpdump.它可以捕捉网络上两台电脑之间所有的数据包,供网络管理员/入侵分析员做进一步流量分 ...

  6. 推荐网站 explainshell.com

    ls 显示指定目录下的文件和目录,默认为当前目录. -a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出) -l 除文件名称外,亦将文件型态.权 ...

  7. Vue学习笔记:Slot

    转自:https://www.w3cplus.com/vue/vue-slot.html 在Vue中,slot也分多种,从Vue的官网中可以获知,其主要分为:单个插槽.具名插槽和作用域插槽三种 父组件 ...

  8. [javaSE] 异常捕获

    异常:程序在运行时出现的不正常现象 Throwable |——Error |——Exception 严重级别:Error类和Exception类 异常的处理:try{}catch{}finally{} ...

  9. 撩课-Web大前端每天5道面试题-Day15

    1.请描述一下 cookies,sessionStorage 和 localStorage 的区别? cookie是网站为了标示用户身份而储存在用户本地终端(Client Side)上的数据(通常经过 ...

  10. CentOS 安装Parallels Tools

    为了做到Mac和Linux之间共享文件夹,因此需要安装Parallels Tool, 具体安装步骤可以参考 install parallels tool for linux guest http:// ...