MySQL操作和维护一个集中的数据库的。它可以由一个单一的执行MySQL在数据库服务器,部署多MySQL示例。这个功能是由mysqld_multi实现。mysqld_multimysqld的服务进程。这些mysqld服务进程程序能够用不同的socket或是监听于不同的端口,同一时候将数据文件分布到不同的磁盘以分散IO。

mysqld_multi提供简单的命令用于启动。关闭和报告所管理的服务器的状态。从而降低生产环境的维护成本。方便兴许的迁移和清理等工作,借助多实例绑定的方式提高服务器的总体资源利用率.对于多实例的配置有2种方式,一种是在my.cnf为全部实例提供配置,一种是使用每个实例一个配置文件。

本文主要描写叙述另外一种方式。

1、各数据库多实例的差异  MSSQL

MSSQL中的实例指的是一个SQL server服务器上仅有一个缺省实例。缺省实例名即为机器名ServerName(或IP)。

假设在同一台机器上再安装SQL server,我们能够对实例命名如ServerName/InstanceName。

即一台SQL server服务器上能够存在多个不同的实例。一个实例下能够存在多个不同的数据库。

对于不同实例下的数据库的訪问,使用ServerName/InstanceName:PortNo就可以实现訪问,缺省实例为ServerName:PortNo。

对不同的实例配置IP地址,相关的訪问协议。端口等等。

实例的可訪问性须要启动该实例相应的相关服务。

此处须要注意的是实例名和实例的服务名并非同样的。

缺省的实例的服务名为MSSQLSERVER。而命名实例的服务名为MSSQL$INSTANCE_NAME。

Oracle

一个Oracle Server由一个Oracle实例和一个Oracle数据库组成。即:Oracle Server = Oracle Instance + Oracle Database

在Oracle的实例主要是由SGA。PGA以及一堆的后台进程来组成。此称之为实例。

一系列物理文件的集合包含控制文件、数据文件、联机日志文件、參数文件、密码文件等称之为数据库。

一个实例仅仅能訪问一个数据库,一个数据库能够被多个实例訪问。

MySQL

MySQL实例的概念与MSSQL差点儿相同。一个MySQL实例下能够存在或訪问N个数据库。

不同的实例间能够用不同的端口号来区分,各个实例的数据能够使用不同的磁盘文件夹。

MySQL多实例通过mysqld_multi工具来进行管理。

2、现有的环境  mysql安装路径: /u01/app/mysql

mysql数据路径: /u01/app/mysqldata/data3306

mysql端口号: 3306

mysql  版本号:5.6.12 Source distribution

OS     环境:SUSE Linux Enterprise Server 11 SP3  (x86_64)

3、初始化实例 #为新实例创建数据文件夹并赋权  suse11:~ # mkdir -p /u01/app/mysqldata/data3606

suse11:~ # mkdir -p /u01/app/mysqldata/data3706

suse11:~ # chown mysql:mysql -R /u01/app/mysqldata/data3606

suse11:~ # chown mysql:mysql -R /u01/app/mysqldata/data3706

#初始化实例  suse11:~ # cd /u01/app/mysql

suse11:/u01/app/mysql # ./scripts/mysql_install_db --user=mysql --ldata=/u01/app/mysqldata/data3606/

suse11:/u01/app/mysql # ./scripts/mysql_install_db --user=mysql --ldata=/u01/app/mysqldata/data3706/

# Author : Leshami

# Blog   :http://blog.csdn.net/leshami

4、配置各实例的my.cnf文件  # vi /u01/app/mysqldata/data3606/my3606.cnf

[mysqld]

socket = /tmp/mysql3606.sock

port = 3606

pid-file = /u01/app/mysqldata/data3606/mysql3606.pid

datadir = /u01/app/mysqldata/data3606

basedir = /u01/app/mysql

user = mysql

server-id=3606

[client]

port = 3606

socket = /tmp/mysql3606.sock

[mysql]

no-auto-rehash

socket = /tmp/mysql3606.sock

prompt=\\u@\\h[\\d]> \\

# vi /u01/app/mysqldata/data3706/my3706.cnf

[mysqld]

socket = /tmp/mysql3706.sock

port = 3706

pid-file = /u01/app/mysqldata/data3706/mysql3706.pid

datadir = /u01/app/mysqldata/data3706

basedir = /u01/app/mysql

user = mysql

server-id=3706

[client]

port = 3706

socket = /tmp/mysql3706.sock

[mysql]

no-auto-rehash

socket = /tmp/mysql3706.sock

prompt=\\u@\\h[\\d]> \\

suse11:~ # chown -R mysql:mysql /u01/app/mysqldata/data3606/my3606.cnf

suse11:~ # chown -R mysql:mysql /u01/app/mysqldata/data3706/my3706.cnf

5、启动关闭多实例  suse11:~ # mysqld_safe --defaults-file=/u01/app/mysqldata/data3606/my3606.cnf &

suse11:~ # mysqld_safe --defaults-file=/u01/app/mysqldata/data3706/my3706.cnf &

suse11:~ # netstat -nltp|grep mysql

tcp        0      0 :::3606                 :::*                    LISTEN      64277/mysqld

tcp        0      0 :::3706                 :::*                    LISTEN      64597/mysqld

suse11:~ # mysqladmin -uroot password 'xxx' -S /tmp/mysql3606.sock

suse11:~ # mysqladmin -uroot password 'xxx' -S /tmp/mysql3706.sock

#以下使用套接字方式连接到实例

suse11:~ # mysql -uroot -pxxx -S /tmp/mysql3606.sockroot@localhost[(none)]>

suse11:~ # mysql -uroot -pxxx -S /tmp/mysql3706.sockroot@localhost[(none)]>

#以下使用TCP方式连接到实例

suse11:~ # mysql -uroot -pxxx -P3606 --protocol=tcproot@localhost[(none)]> exit

suse11:~ # mysql -uroot -pxxx -P3706 --protocol=tcproot@localhost[(none)]>

#关闭mysql实例

suse11:~ # mysqladmin -uroot -pxxx -S /tmp/mysql3606.sock shutdown

suse11:~ # mysqladmin -uroot -pxxx -S /tmp/mysql3706.sock shutdown

版权声明:本文博主原创文章。博客,未经同意不得转载。

mysql配置多个磁盘_MySQL多实例配置(两)相关推荐

  1. mysql双主启停_Mysql 多实例配置与启停

    1 安装目录 [mysql@server ~]$ ll /mysql total 12 drwxr-xr-x 5 mysql mysql 4096 Aug 3 23:08 data -rw-r--r- ...

  2. mysql服务实例配置_MySQL多实例配置(一)

    MySQL数据库的集中化运维,能够通过在一台MySQL数据库服务器上,部署多个MySQL实例.该功能是通过mysqld_multi来实现.mysqld_multi用于管理多个mysqld的服务进程,这 ...

  3. mysql服务实例配置_MySQL多实例配置

    MySQL的多实例配置 ​在一台物理机中需要多个测试环境,那么就需要用到了搭建数据库的多个实例,多个实例的意思就是运行多份程序,实例与实例之间没有影响.要注意监听的端口需要不同. 环境:CentOS7 ...

  4. mysql的配置文件几个_mysql多实例(多个配置文件方式)

    1)简介mysql 版本:mysql-5.5.27cmake:cmake-2.8.8操作系统:CentOS6.5mysql实例数:3个实例占用端口分别为:3306.3307.33082)本次安装所有的 ...

  5. mysql最高安全级别双一_Mysql 双一配置保证数据0丢失

    预备知识 请先看mysql如何做到crash后无损恢复数据.了解下mysql是如何数据落地磁盘的. binlog 事务执行时先把日志写到binlog cache,事务提交,binlog cache就将 ...

  6. mysql主从同步 添加字段_MySQL主从同步配置

    一.准备工作 两台CentOS7服务器,安装好Mysql(CentOS 7安装MySQL)并设置静态IP,我这里两台服务器IP地址分别设置为192.168.0.150,192.168.0.151.15 ...

  7. mysql 从服务器同步设置_mysql主从同步配置

    1.为什么要主从同步? 在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一.尤其是在大规模系统中,数据库集群已经成为必备的配置之一.集群的好处主要有:查询负载.数据库复制备份等.其中Ma ...

  8. mysql 多个密码登录_mysql 多实例登录密码测试

    最近在做mysql 多实例的时候,采用不同的方式登录mysql数据库,发现mysql -uroot -p -h 127.0.0.1 -P3308 ,登录时居然不要密码就可以登录,吓得我一身汗,经过检查 ...

  9. mysql数据库密码安全参数_MySQL 密码参数配置与修改 validate_password

    MySQL 密码参数配置与修改 validate_password 场景 通过root用户创建travel_agency数据库,目标是,新建一个用户然后对仅对该用户开放travel_agency数据库 ...

最新文章

  1. grldr 和 grldr.mbr 区别
  2. IOS8 兼容本地推送
  3. 使用Github(Github Issues)
  4. jdbc map获取keys_跟我学shardingjdbc之分布式主键及其自定义
  5. java接口构建英雄属性_Python接口类的多继承以及抽象类的单继承
  6. [leetcode]468. Validate IP Address验证有效IP地址
  7. 关于Eclipse中各个文件(*.java *.jsp *.xml)文字大小的设定。
  8. dsp对音响提升大吗_原车音响太差?!想要升级却不知道买什么品牌好?我来告诉您!...
  9. 继承 actionSupport
  10. 微软:从“开源是毒瘤”到“我爱 Linux”的 20 年
  11. android之DEX文件格式
  12. 项目需求分析与建议 NABCD模型
  13. 三年级计算机之父童年教学设计,三年级语文计算机之父的童年故事课文教学设计...
  14. 怎么用计算机算化学,化学计算机
  15. 计算机网络【最终版】
  16. 品牌公寓+电子合同,开拓年轻人租房市场
  17. 微信向移动开放平台又迈进了一大步:微信开放平台更新
  18. 2021-07-24 centos基础设置
  19. 移动端的vm vh是什么
  20. 【MATLAB】一个宝藏博主公开的代码,给它加个速——水晶爱心模块

热门文章

  1. 根据div 标签 查看数组@class=modulwrap 下面的/table/tbody/tr/td
  2. Linux 内核简介
  3. 落地数据和不落地数据
  4. Internet信息服务找不到
  5. 自定义调试窗口---上面板
  6. 49 - 算法 - Leetcode 112 路径总和 -二叉树递归 带参数一起递归
  7. html输入字符长度佛下一句,js如何判断输入字符串长度
  8. android 字体点击变色,Android TextView 中实现部分文字变色以及点击事件
  9. 360手机浏览器_网信办出手:华为、360、qq等8款手机浏览器被列入首批重点整治名单...
  10. 检测电脑硬件的软件_慎用优化软件 不然I7也会卡