广告
返回顶部
首页 > 资讯 > 数据库 >mysql5.5中怎么实现多实例部署
  • 556
分享到

mysql5.5中怎么实现多实例部署

2024-04-02 19:04:59 556人浏览 安东尼
摘要

这期内容当中小编将会给大家带来有关Mysql5.5中怎么实现多实例部署,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、mysql多实例的原理mysql多实例,简单的说,

这期内容当中小编将会给大家带来有关Mysql5.5中怎么实现多实例部署,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

一、mysql多实例的原理

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

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

二、mysql多实例的特点

2.1 有效的利用服务器资源

当单个服务器资源有剩余时,可以充分利用剩余的服务器资源来提供更多的服务。

2.2 节约服务器资源

当公司资金紧张,但是数据库需要各自提供独立服务,而且需要主从同步等技术时,使用多实例就最好了。

2.3 出现资源互相抢占问题

当某个实例服务并发很高或者有慢查询时,会消耗服务器更多的内存、CPU、磁盘io等资源,这时就会导致服务器上的其它实例提供访问的质量下降,出现服务器资源互相抢占的现象。

三、mysql多实例应用场景

3.1 资金紧张型公司的选择

当公司业务访问量不太大,又舍不得花钱,但同时又希望不同业务的数据库服务各自独立,而且需要主从同步进行等技术提供备份或读写分离服务时,使用多实例是最好不过的。

3.2 并发访问不是特别大的业务

当公司业务访问量不太大,服务器资源基本闲置的比较多,这是就很适合多实例的应用。如果对SQL语句优化的好,多实例是一个很值得使用的技术。即使并发很大,只要合理分配好系统资源,也不会有太大问题。

四、mysql5.5多实例部署方法

4.1 mysql5.5多实例部署方法

mysql5.5多实例部署方法一个是通过多个配置文件启动多个不同进程的方法,第二个是使用官方自带的mysqld_multi来实现。

第一种方法我们可以把各个实例的配置文件分开,管理比较方便。第二种方法就是把多个实例都放到一个配置文件中,这个管理不是很方便。所以在此我们选择第一种方法,而且以下实验我们全部是在此方法下进行的。

4.2 mysql5.5的安装及配置

要配置mysql5.5多实例,我们首先要安装mysql5.5,有关mysql5.5的安装可以查看《烂泥:mysql5.5数据库cmake源码编译安装》这篇文章。

mysql5.5安装完毕后,我们不要启动mysql,因为此时mysql是单实例的。

4.3 创建mysql多实例的数据目录

现在我们来创建mysql5.5多实例的数据目录,在此我们创建两个mysql实例3306和3307。创建各自的数据目录,如下:

mkdir -p /data/{3306,3307}/data

tree -L 2 /data/

mysql5.5中怎么实现多实例部署

4.4 修改mysql5.5多实例my.cnf文件

实例3306和3307的数据目录创建完毕后,我们来配置实例3306与3307的my.cnf配置文件。

复制mysql5.5安装目录support-files下的my-medium.cnf为my.cnf,并把内容修改为下。现在以3306这个实例为例,如下:

[client]

port = 3306

socket = /data/3306/mysql.sock

[mysqld]

port = 3306

socket = /data/3306/mysql.sock

basedir = /usr/local/mysql

datadir = /data/3306/data

skip-external-locking

key_buffer_size = 16M

max_allowed_packet = 1M

table_open_cache = 64

sort_buffer_size = 512K

net_buffer_length = 8K

read_buffer_size = 256K

read_rnd_buffer_size = 512K

myisam_sort_buffer_size = 8M

skip-name-resolve

log-bin=mysql-bin

binlog_fORMat=mixed

max_binlog_size = 500M

server-id = 1

[mysqld_safe]

log-error=/data/3306/ilanni.err

pid-file=/data/3306/ilanni.pid

[mysqldump]

quick

max_allowed_packet = 16M

[mysql]

no-auto-rehash

[myisamchk]

key_buffer_size = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M

[mysqlhotcopy]

interactive-timeout

mysql5.5中怎么实现多实例部署

注意图中***标记出来的部分,就是我们主要修改的,其他默认保持不变。

以上是实例3306的my.cnf配置文件,现在我们来配置实例3307的my.cnf。实例3307的配置文件my.cnf我们直接复制实例3306的my.cnf文件,然后通过sed命令把该文件中的3306修改为3307即可。如下:

cp /data/3306/my.cnf /data/3307/my.cnf

sed -i 's/3306/3307/g' /data/3307/my.cnf

或者

sed -e 's/3306/3307/g' /data/3306/my.cnf >/data/3307/my.cnf

mysql5.5中怎么实现多实例部署

4.5 初始化mysql多实例

实例3306和3307的my.cnf配置文件修改完毕后,我们需要来初始化这两个实例,使用mysql_install_db命令。如下:

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3306/data --user=mysql

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3307/data --user=mysql

注意mysql5.5的mysql_install_db在mysql5.5的/usr/local/mysql/scripts/mysql_install_db目录下。

mysql5.5中怎么实现多实例部署

mysql5.5中怎么实现多实例部署

查看实例初始化后的情况,如下:

tree -L 3 /data/

mysql5.5中怎么实现多实例部署

通过上图我们可以看到mysql实例在初始化后会创建基本的数据库。

现在再来看看初始化创建文件的属性,如下:

mysql5.5中怎么实现多实例部署

通过上图可以看到初始化创建的文件都是属于mysql这个用户的。

为什么会是这样呢?

这个是因为我们初始化加入--user=mysql这个选项。当然这个也是我们所需要的,因为这增加了mysql的安全性。

4.6 修改mysql实例的数据库目录权限

mysql实例初始化完毕后,我们现在把实例3306和实例3307的数据目录权限重新赋予给mysql用户。如下:

chown -R mysql:mysql /data/3306

chown -R mysql:mysql /data/3307

mysql5.5中怎么实现多实例部署

这个地方建议一定要操作一遍,否则在启动mysql实例时,会提示出错。导致mysql实例无法启动。

4.7 启动mysql5.5多实例

我们现在来启动实例。使用如下命令:

/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/3306/my.cnf &

/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/3307/my.cnf &

ps aux |grep mysqld

mysql5.5中怎么实现多实例部署

通过上图,我们可以看到实例3306和3307 都已经正常启动。也说明我们的mysql5.5多实例已经配置成功。

其实单实例mysql的启动也是通过mysqld_safe命令来启动。它默认会加载/etc/my.cnf文件。

4.8 登录mysql5.5多实例

登录多实例数据库时,我们需要加入该实例的socket文件,才能正常登录。现在以3306实例为例。

本地登录3306实例,如下:

mysql -uroot -p -S /data/3306/mysql.sock

mysql5.5中怎么实现多实例部署

本地登录进去后,我们在实例3306上创建一个ilanni3306的数据库。如下:

create database ilanni3306;

show databases;

mysql5.5中怎么实现多实例部署

现在我们远程登录实例3306,并查看刚刚新建的数据库。如下:

mysql -h292.168.1.213 -uroot -p -S /data/3306/mysql.sock

mysql5.5中怎么实现多实例部署

或者:mysql -h292.168.1.213 -uroot -p –P
3306

mysql5.5中怎么实现多实例部署

通过上图,我们可以看到远程也是可以连接3306实例的。

4.9 修改mysql5.5多实例root密码

修改实例3306的root密码,使用mysqladmin命令。如下:

mysqladmin -uroot -p passWord 123456 -S /data/3306/mysql.sock

mysql5.5中怎么实现多实例部署

上述就是小编为大家分享的mysql5.5中怎么实现多实例部署了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: mysql5.5中怎么实现多实例部署

本文链接: https://www.lsjlt.com/news/57025.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql5.5中怎么实现多实例部署
    这期内容当中小编将会给大家带来有关mysql5.5中怎么实现多实例部署,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、mysql多实例的原理mysql多实例,简单的说,...
    99+
    2022-10-18
  • MySQL5.5中怎么实现多列分区
    这篇文章将为大家详细讲解有关MySQL5.5中怎么实现多列分区,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  MySQL5.5多列分区是什么  COLUM...
    99+
    2022-10-18
  • MySQL5.6多实例部署
    无论是迫于预算,亦或者是领导要求,多实例的安装也是DBA必须掌握的技术,她的启停和登录方式和单实例安装数据库略有不同,本文记录下如何完成MySQL5.6多实例部署。首先我们看一下my.cnf和单实例的区分:...
    99+
    2022-10-18
  • mysql多实例部署
    1.修改my.cnf ...
    99+
    2022-10-18
  • mysql多实例部署实例教程
    目录mysql多实例部署软件下载配置用户并解压二进制程序至/usr/local下创建各实例数据存放的目录初始化各实例安装perl配置配置文件/etc/my.cnf启动各实例加入sys...
    99+
    2022-11-13
    mysql多实例部署 mysql多实例
  • MongoDB中怎么部署单实例
    这篇文章将为大家详细讲解有关MongoDB中怎么部署单实例,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. 安装所需依赖yum install&...
    99+
    2022-10-18
  • MySQL单机多实例部署
    一、MySQL多实例部署版本:5.7.181.软件安装# tar xf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C&nb...
    99+
    2022-10-18
  • MYSQL的单机多实例部署
                                 ...
    99+
    2022-10-18
  • MySQL--------多版本多实例混合部署
    1. 背景  * MySQL数据库的集中化运维,可以通过在一台服务器上,部署运行多个MySQL服务进程,通过不同的socket监听不同的服务端口来提供各自的服务。各个实例之间是相互独立的...
    99+
    2022-10-18
  • MySQL8.0.20单机多实例部署步骤
    目录0.环境需要1.安装步骤1.下载解压安装的mysql安装包文件2.上传解压缩(我这里的上传为:xhell,当然也可使用其他方式)3.在mysql目录创建创建数据文件存放路径并赋权...
    99+
    2022-11-13
  • Dockerrocketmq部署的实现示例
    目录准备工作部署过程初体验 rocketmq相关问题帮助文档最近学习使用 rocketmq,需要搭建 rocketmq 服务端,本文主要记录 rocketmq 搭建过程以及这个过程踩...
    99+
    2022-11-12
  • tomcat+nginx实现多应用部署的示例代码
    目录多应用部署1-tomcat配置  1.1-项目配置 1.2-服务配置2-Nginx配置3-完成部署多应用部署 1-tomcat配置   1.1...
    99+
    2022-11-12
  • php中怎么实现集群部署
    这篇“php中怎么实现集群部署”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php中怎么实现集群部署”文章吧。一、什么是集群...
    99+
    2023-07-05
  • Tomcat多实例部署及配置原理
    1、关闭防火墙,将安装 Tomcat 所需软件包传到/opt目录下 jdk-8u201-linux-x64.rpm apache-tomcat-9.0.16.tar.gz s...
    99+
    2022-11-12
  • springcloud怎么实现热部署
    Spring Cloud并不直接支持热部署,但是可以通过以下几种方式实现热部署: 使用Spring Boot DevTools:...
    99+
    2023-10-23
    springcloud
  • mysql5.5中怎么实现半同步复制
    本篇文章为大家展示了mysql5.5中怎么实现半同步复制,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。master:192.168.70.101slave:192....
    99+
    2022-10-18
  • linux中jenkins自动部署怎么实现
    在Linux中,可以通过以下步骤实现Jenkins的自动部署: 安装Jenkins:通过在Linux系统上运行命令来安装Jenk...
    99+
    2023-10-27
    linux jenkins
  • Node中怎么实现自动化部署
    这期内容当中小编将会给大家带来有关Node中怎么实现自动化部署,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。配置脚本这段脚本内容是我们需要服务器自动执行的# a...
    99+
    2022-10-19
  • openstack离线部署怎么实现
    OpenStack离线部署可以通过以下步骤实现:1. 下载所需的OpenStack软件包和依赖项,并将其存储在一个离线环境中,如本地...
    99+
    2023-10-10
    openstack
  • Spring Boot怎么实现热部署
    Spring Boot怎么实现热部署在Spring Boot实现代码热部署是一件很简单的事情,代码的修改可以自动部署并重新热启动项目。1、引用devtools依赖 org.springframework.boot sprin...
    99+
    2018-02-18
    java教程 spring boot 热部署
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作