mysql服务实例配置_MySQL多实例配置(一)
MySQL数据库的集中化运维,能够通过在一台MySQL数据库服务器上,部署多个MySQL实例。该功能是通过mysqld_multi来实现。mysqld_multi用于管理多个mysqld的服务进程,这些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/data3406
suse11:~ # mkdir -p /u01/app/mysqldata/data3506
suse11:~ # chown mysql:mysql -R /u01/app/mysqldata/data3406
suse11:~ # chown mysql:mysql -R /u01/app/mysqldata/data3506
#初始化实例 suse11:~ # cd /u01/app/mysql
suse11:/u01/app/mysql # ./scripts/mysql_install_db --user=mysql --ldata=/u01/app/mysqldata/data3406/
suse11:/u01/app/mysql # ./scripts/mysql_install_db --user=mysql --ldata=/u01/app/mysqldata/data3506/
# Author : Leshami
# Blog :http://blog.csdn.net/leshami
4、改动配置文件 suse11:~ # more /etc/my.cnf #本配置文件里仅提供了多实例的基本參数,生产环境依据情形自行加入 [mysqld_multi]
mysqld = /u01/app/mysql/bin/mysqld_safe
mysqladmin = /u01/app/mysql/bin/mysqladmin
user = admin #此帐户用于多实例关闭时使用。须要在每个实例上创建并授权 password = xxx #使用统一的密码便于管理
[mysqld3306]
socket = /tmp/mysql3306.sock
port = 3306
pid-file = /u01/app/mysqldata/data3306/mysql3306.pid
datadir = /u01/app/mysqldata/data3306
basedir = /u01/app/mysql
user = mysql
server-id=3306
[mysqld3406]
socket = /tmp/mysql3406.sock
port = 3406
pid-file = /u01/app/mysqldata/data3406/mysql3406.pid
datadir = /u01/app/mysqldata/data3406
basedir = /u01/app/mysql
user = mysql
server-id=3406
[mysqld3506]
socket = /tmp/mysql3506.sock
port = 3506
pid-file = /u01/app/mysqldata/data3506/mysql3506.pid
datadir = /u01/app/mysqldata/data3506
basedir = /u01/app/mysql
user = mysql
server-id=3506
5、启动关闭多实例 suse11:~ # mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld3306 is not running
MySQL server from group: mysqld3406 is not running
MySQL server from group: mysqld3506 is not running
suse11:~ # mysqld_multi start 3306
suse11:~ # mysqld_multi start 3406,3506 #能够同一时候启动多个实例 suse11:~ # netstat -ntlp | grep mysql
tcp 0 0 :::3306 :::* LISTEN 14786/mysqld
tcp 0 0 :::3406 :::* LISTEN 15103/mysqld
tcp 0 0 :::3506 :::* LISTEN 15371/mysqld
suse11:/tmp # ls *.sock
mysql3306.sock mysql3406.sock mysql3506.sock
#为新实例改动密码及创建账户 suse11:/tmp # mysql -uroot -pxxx -S ./mysql3306.sock #3306已经有初始密码root@localhost[(none)]> grant shutdown on *.* to'admin'@'localhost'identified by 'xxx' with grant option;
suse11:/tmp # mysql -uroot -p -S ./mysql3406.sock
Enter password: #此时密码为空root@localhost[(none)]> set password for'root'@'localhost'=password('xxx');root@localhost[(none)]> grant shutdown on *.* to'admin'@'localhost'identified by 'xxx' with grant option;
suse11:/tmp # mysql -uroot -p -S ./mysql3506.sock
Enter password: #此时密码为空root@localhost[(none)]> set password for'root'@'localhost'=password('xxx');root@localhost[(none)]> grant shutdown on *.* to'admin'@'localhost'identified by 'xxx' with grant option;
#使用TCP方式登录測试 suse11:/tmp # mysql -uroot -pxxx -P3506root@localhost[(none)]>
#检查多实例的状态 suse11:/tmp # mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld3306 is running
MySQL server from group: mysqld3406 is running
MySQL server from group: mysqld3506 is running
#停止多实例服务器 suse11:~ # mysqld_multi stop 3306
suse11:~ # mysqld_multi report 3306
Reporting MySQL servers
MySQL server from group: mysqld3306 is not running
suse11:~ # mysqld_multi stop 3406
suse11:~ # mysqld_multi stop 3506
#多实例服务器的日志 suse11:~ # tail /u01/app/mysql/share/mysqld_multi.log
Stopping MySQL servers
Warning: Using a password on the command line interface can be insecure.
141017 23:40:09 mysqld_safe mysqld from pid file /u01/app/mysqldata/data3406/mysql3406.pid ended
mysqld_multi log file version 2.16; run: Fri Oct 17 23:40:09 2014
Stopping MySQL servers
Warning: Using a password on the command line interface can be insecure.
141017 23:40:11 mysqld_safe mysqld from pid file /u01/app/mysqldata/data3506/mysql3506.pid ended
#一次启动多个实例 suse11:~ # mysqld_multi start 3306-3506
suse11:~ # mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld3306 is running
MySQL server from group: mysqld3406 is running
MySQL server from group: mysqld3506 is running
6、配置多实例的自启动 # echo "/u01/app/mysql/bin/mysqld_multi start 3306-3506" >>/etc/init.d/boot.local
mysql服务实例配置_MySQL多实例配置(一)相关推荐
- mysql服务实例配置_MySQL多实例配置
MySQL的多实例配置 在一台物理机中需要多个测试环境,那么就需要用到了搭建数据库的多个实例,多个实例的意思就是运行多份程序,实例与实例之间没有影响.要注意监听的端口需要不同. 环境:CentOS7 ...
- mysql多实例安装配置_MySQL多实例安装配置
MySQL进行多实例配置再生产环境中非常常见,比如一些高配置数据库服务器,就会跑多个MySQL实例,借助多实例绑定的方式提高服务器的整体资源利用率.另外在MySQL5.7以上版本还不支持多源复制时,当 ...
- mysql服务的基本操作_MySql(一)mysql服务的基本操作及环境配置
MySQL服务的启动 开始–>计算机–>右键选择管理–>双击打开服务和应用程序–>双击服务–>找到MySQL的服务名称(我的是MySQL56),右键选择启动即可 通过命令 ...
- mysql多实例命令_Mysql多实例
mysql多实例就是在一台服务器上同时开启多个不同的服务端口,同时运行多个mysql,这些服务进程通过不同的socket监听不同的服务器端口来提供服务. 这些MySQL多实例共用一套MySQL安装程序 ...
- mysql免安装服务器配置_MYSQL免安装环境配置
MYSQL免安装环境配置 1.下载解压 https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.25-winx64.zip 2.在安装目录下(我的是D ...
- mysql系统变量配置文件_MySQL系统变量配置基础
MySQL变量的概念 个人认为可以理解成MySQL在启动或者运行过程中读取的一些参数问题,利用这些参数来启动服务.响应或者支持用户的请求等 变量的配置 如果打算长期使用,应该写入配置文件,而不是在命中 ...
- mysql密码登陆过程_mysql单实例忘记密码如何登陆过程
mysql单实例root密码找回方法: a 停止mysql服务 [root@db02 data]# /etc/init.d/mysqld stop Shutting down MySQL.. SUCC ...
- mysql数据库配置_mysql数据库怎么配置
展开全部 一.概述e69da5e6ba903231313335323631343130323136353331333365633835 MySQL版本:5.7.17 客户端工具:NavicatforM ...
- mysql安装简书_MySQL 安装和配置
免安装版的Mysql MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的 标准化语言,其特点为体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,在 Web 应 ...
最新文章
- oracle exists mysql_oracle_in_exists_left-join
- 每日一博 - tcpdump小技巧
- 调试的时候step into,step out,step over有什么区别?各有什么作用?分别在什么情况下使用?
- SVG 教程 (五)文本,Stroke 属性,SVG 滤镜,SVG 模糊效果
- 内联函数inline,无比节省开销的
- C#设计模式之十六观察者模式(Observer Pattern)【行为型】
- 整理LVS架构压力测试工作
- 原生js三种选项卡效果(滑动)
- 一打卡作弊软件CEO被判5年6个月,网友:这也太...
- ios 渐变透明背景_PPT背景常见的6种设计方法
- 通用能力-智力题专项练习
- Assuming drive cache: write through,可能不是错误信息,只是提示信息
- linux apple开发环境,Linux上构筑iPhone OS3.1.2开发环境 实例操作
- 孩子学python用的笔记本电脑_教孩子学Python 后的一点感受
- php实现清空购物车前确认,php – 在Woocommerce中添加到购物车之前清空购物车
- xfce上安装mysql_新手把mysql装进docker中碰到的各种问题
- 用python画苹果的logo_简单几步,100行代码用Python画一个蝙蝠侠的logo
- 【有利可图网】PS实战系列:合成奇幻星空下的童话场景
- can和could的用法_can和could情态动词的用法
- 现代密码学第一章复习题
热门文章
- 无索引的亿级数据该如何删除?
- java ecdh算法_椭圆曲线ECC ECDH原理 javacard实现
- mysql插入第一_mySQL教程 第5章 插入 更新与删除数据
- c++ opencv Rectangle
- TX2 安装QT Creator
- Could not decode a text frame as UTF-8 的解决
- device:GPU:0 but available devices are [ /job:localhost/replica:0/task:0/dev
- 人工操作阶段计算机是如何工作的,第一章计算机基础概述全解.ppt
- 如何用html5定位,如何利用html5进行地理定位
- android 强制打开gps定位_Android 6.0 默认关闭定位和GPS,开启后默认选省电