MySQL多实例配置(两)
MySQL操作和维护一个集中的数据库的。它可以由一个单一的执行MySQL在数据库服务器,部署多MySQL示例。这个功能是由mysqld_multi实现。mysqld_multimysqld的服务进程。这些mysqld服务进程程序能够用不同的socket或是监听于不同的端口,同一时候将数据文件分布到不同的磁盘以分散IO。
mysqld_multi提供简单的命令用于启动。关闭和报告所管理的服务器的状态。从而降低生产环境的维护成本。方便兴许的迁移和清理等工作,借助多实例绑定的方式提高服务器的总体资源利用率.对于多实例的配置有2种方式,一种是在my.cnf为全部实例提供配置,一种是使用每个实例一个配置文件。
本文主要描写叙述另外一种方式。
第一种多实例配置方式请參考:MySQL多实例配置(一) 有关MySQL单实例的安装请參考:Linux 下MySQL源代码安装完整版
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.sock
root@localhost[(none)]>
suse11:~ # mysql -uroot -pxxx -S /tmp/mysql3706.sock
root@localhost[(none)]>
#以下使用TCP方式连接到实例
suse11:~ # mysql -uroot -pxxx -P3606 --protocol=tcp
root@localhost[(none)]> exit
suse11:~ # mysql -uroot -pxxx -P3706 --protocol=tcp
root@localhost[(none)]>
#关闭mysql实例
suse11:~ # mysqladmin -uroot -pxxx -S /tmp/mysql3606.sock shutdown
suse11:~ # mysqladmin -uroot -pxxx -S /tmp/mysql3706.sock shutdown
版权声明:本文博主原创文章。博客,未经同意不得转载。
MySQL多实例配置(两)的更多相关文章
- MYSQL多实例配置方法 mysqld_multi方法
在实际的开发过程中,可能会需要在一台服务器上部署多个MYSQL实例,那建议使用MYSQL官方的解决方案 mysqld_multi 1.修改my.cnf 如一个定义两个实例的参考配置: [mysqld_ ...
- MYSQL多实例配置与使用教程
原文http://www.111cn.net/database/mysql/58651.htm 在实际的开发过程中,可能会需要在一台服务器上部署多个MYSQL实例,那建议使用MYSQL官方的解决方案 ...
- MySQL多实例配置(一)
MySQL数据库的集中化运维,能够通过在一台MySQL数据库服务器上,部署多个MySQL实例.该功能是通过mysqld_multi来实现.mysqld_multi用于管理多个mysqld的服务进程,这 ...
- 基于mysqld_multi实现MySQL多实例配置
环境: 操作系统 CentOS7.5(已安装MySQL) 主机名 localhost 本机安装路径为 /usr/local/mysql 实验初始配置:所有主机关闭防火墙与selinux [ro ...
- MySQL多实例配置
实验环境:RHEL6.4为最小化安装,mysql安装包为通用二进制安装包,版本为mysql-5.6.26 创建mysql用户 #useradd –M –s /sbin/nologin mysql #y ...
- mysql多实例配置下,用脚本启动mysql时,出现Please read "Security" section of the manual to find out how to run mysqld as root!
[root@localhost 3308]# mysqld stop170414 0:35:28 [Note] --secure-file-priv is set to NULL. Operation ...
- mysql、mariadb安装和多实例配置
本文目录:1. mysql单实例安装 1.1 rpm安装mysql 1.2 通用二进制包安装mysql 1.2.1 初始化数据库 1.2.2 安装后的规范化操作 1.3 编译安装 1.3.1 编译安装 ...
- mysql多实例介绍及配置
mysql多实例介绍及配置 1.mysql多实例介绍 1.1 什么是mysql多实例 mysql多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过 ...
- linux下mysql多实例安装
1.MySQL多实例介绍 1.1.什么是MySQL多实例 MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过不同的socket监听不同的 ...
随机推荐
- U5首次登录
1.在Llinx中,大小写字母是不一样的东西. 2.date可以查看日期,date的正确格式是:date +%Y/%m/%d/%H/%M(左边这句话所想表达的意思是年的字母必须为大写,月的必须为小写. ...
- 用标准Struts2+mvc写的用户管理
这星期的实验,最终调好了. 一句话,麻雀虽小,五脏俱全.相信刚学struts2的同学能够通过该实验能够更好地理解struts的结构和mvc 登录的之前写过,这里直接进入用户管理 用struts2都要在 ...
- Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(十三)
今天我们实验libvirt提供的快照功能,快照可以用于系统恢复,防止安装了某些软件或中病毒等情况导致系统损毁的情况. 一.快照类型 1) 磁盘快照 内部的:快照驻留在原来的镜像文件内部 ...
- 你真的了解try{ return }finally{}中的return?(转)
今天去逛论坛 时发现了一个很有趣的问题: 谁能给我我解释一下这段程序的结果为什么是:2.而不是:3 代码如下: class Test { public int aaa() { int x = 1; t ...
- codeforces 459D - Pashmak and Parmida's problem【离散化+处理+逆序对】
题目:codeforces 459D - Pashmak and Parmida's problem 题意:给出n个数ai.然后定义f(l, r, x) 为ak = x,且l<=k<=r, ...
- 树上点对统计poj1741(树的点分治)
给定一棵树,边上有权值,要统计有多少对点路径的权值和<=k 分治算法在树的路径中的应用 这个论文里面有分析. 任意两点的路径,要么过根结点,要么在子树中.如果在子树中,那么只要递归处理就行了. ...
- linux动态库编译和使用
linux动态库编译和使用详细剖析 引言 重点讲述linux上使用gcc编译动态库的一些操作.并且对其深入的案例分析.最后介绍一下动态库插件技术, 让代码向后兼容.关于linux上使用gcc基础编译, ...
- PyUnit框架学习
http://www.oschina.net/question/12_27127#INSTALL http://www.360doc.com/content/11/0606/23/54470_1221 ...
- Wind River Linux 6 Security Profile
2692407267@qq.com,很多其它内容请关注http://user.qzone.qq.com/2692407267 Wind River Linux 6 Security Profile
- C该程序生成一个唯一的序列号
在实际的软件开发项目,通常,它包括产生一唯一的序列号.在本文中,一个切实可行的方案,例如,它引入了一个唯一的序列号生成过程. 本文生成的序列号的样式为:MMDDHHMINSS_XXXXXX. 程序例如 ...