单台机器启动多个mysql实例,mysql单机多实例相互独立

本文目录一览:

MySQL在一台db服务器上面如何启动多个实例

一、上传RPM包到服务器上 二、安装mysql服务器端rpm -ivhMySQL-server-5.5.8-1.rhel5.x86_64.rpm 三、安装mysql客户端 rpm -ivhMySQL-client-5.5.8-1.rhel5.x86_64.rpm 四、创建目录 在/data下创建目录,把原来的数据目录/var/lib/mysql 移到/data/mysql/data1和/data/mysql/data2下,并修改mysql目录以及子目录权限 PS:安装后默认的几个重要目录 目录 内容/var/lib/mysql 数据文件,日志文件等等/usr/bin客户端程序和脚本/usr/share/mysql 错误消息和字符集文件/etc/rc.d/init.d/mysql 启动脚本文件 创建目录 修改权限 五、修改并上传配置文件my.cnf 从服务器上的/usr/share/mysql目录中把my-innodb-heavy-4G.cnf拷贝一份到本地。编辑其内容增加数据文件和日志文件的目录,修改socket目录。 六、用mysql_multi启动多个服务 启动:mysqld_multi –defaults-file=/etc/my.cnf start1,2 查看是否启动:mysqld_multi –defaults-file=/etc/my.cnfreport 1 七、查看端口是否打开 八、连接进入指定的mysql服务器 mysql -u root -S/tmp/mysql1.sock 或者mysql -uroot -P3307 -h127.0.0.1 九、记得关闭防火墙

如何在一台window机器下安装多个MYSQL实例

首先可以去下载mysql的安装文件,或者绿色免安装的文件,直接下载进行安装

安装完毕之后,在安装路径下,找到mysql的目录,进行复制,比如复制多份,两份,分别命名MySql2 Mysql3

之后进Mysql2 Mysql3的修改,我们设定Mysql这个目录作为master,需要对它的my.ini配置文件进行修改,添加如下:修改端口号和base目录和数据目录

之后开始注册服务,进入到bin目录下执行

mysqld install mysql2 –defaults-file=”E:\phpStudy\MySQL2\my.ini”

执行完毕之后,我们就可以看到服务注册了

之后进入windows系统下服务目录下,我们就能看到mysql2这个服务,在这里我们需要将mysql2这个服务打开,设置为已启动状态

之后我们在控制台,执行mysql -uroot -p -P3307,输入密码就可以进入mysql,其他的依次类推就可以了,实现多个mysql安装

如何在同一台机器上安装多个MySQL的实例

这种架构一般用在以下三类场景

1. 备份多台 Server 的数据到一台如果按照数据切分方向来讲,那就是垂直切分。比如图 2,业务 A、B、C、D 是之前拆分好的业务,现在需要把这些拆分好的业务汇总起来备份,那这种需求也很适用于多源复制架构。实现方法我大概描述下:业务 A、B、C、D 分别位于 4 台 Server,每台 Server 分别有一个数据库来隔离前端的业务数据,那这样,在从库就能把四台业务的数据全部汇总起来,而不需要做额外的操作。那没有多源复制之前,要实现这类需求,只能在汇总机器上搭建多个 MySQL 实例,那这样势必会涉及到跨库关联的问题,不但性能急剧下降,管理多个实例也没有单台来的容易。

2. 用来聚合前端多个 Server 的分片数据。

同样,按照数据切分方向来讲,属于水平切分。比如图 3,按照年份拆分好的数据,要做一个汇总数据展现,那这种架构也非常合适。实现方法稍微复杂些:比如所有 Server 共享同一数据库和表,一般为了开发极端透明,前端配置有分库分表的中间件,比如爱可生的 DBLE。

3. 汇总并合并多个 Server 的数据

第三类和第一种场景类似。不一样的是不仅仅是数据需要汇总到目标端,还得合并这些数据,这就比第一种来的相对复杂些。比如图 4,那这样的需求,是不是也适合多源复制呢?答案是 YES。那具体怎么做呢?

如何在一台Windows主机上运行多个MySQL服务

1.正常安装第一个mysql(安装步骤省略)

2.在控制面板里停止第一个mysql服务

3.将C:\Program Files\MySQL目录下的所有目录和文件copy到另外一个路径,我这里是copy到E盘

4.创建第二个mysql的my.ini文件

第一个mysql的my.ini文件默认是在如下路径

C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\my.ini

copy该ini文件存放到E:\MySQL\mysql_base,这个路径可以随意定义,并修改如下内容:

[client]

port=3307 #第一个数据库的默认端口是3306 这里需要另外启用一个端口

# The TCP/IP Port the MySQL Server will listen on

port=3307

# Path to installation directory. All paths are usually resolved relative to this.

basedir=”E:\MySQL\MySQL Server 5.5\” #第二个数据库basedir

# Path to the database root

datadir=”E:\MySQL\MySQL Server 5.5\data\” #第二个数据库datadir

5.创建启动服务(此时在控制面板中可以看到增加了一个新的服务)

mysqld install MySQL2 –defaults-file=”E:\MySQL\mysql_base\ini\my.ini”

6.修改注册表

HKEY_LOCAL_MACHINE–SYSTEM–CurrentControlSet–Services

找到刚才创建的MySQL2,将ImagePath修改成如下”:

“E:\MySQL\MySQL Server 5.5\bin\mysqld” –defaults-file=”E:\MySQL\mysql_base\ini\my.ini” MySQL2

一台机器上可以安装多个mysql吗

先说下,什么是mysql的多实例,简单的来说就是一台机器上安装了多个mysql的服务,通过不同的端口(如3307,3308)来向外界提供服务,这些进程通过不同的socket来监听不同的服务端口来提供个字的服务。

做个比喻:MySQL的多实例相当于房子的相当于多个卧室一样,每个实例可以看做是一个卧室,整个服务器就是一个房子,服务器的硬件资源(cpu,mem,disk)就是共享的资源,相当于房子的卫生间,厨房,客厅一样,是房子的公共资源,北漂蜗居在一起,可定是要公用上述的资源的。

好处:

当公司资金紧张,可以节约服务器的资源。

坏处:

当某个服务并发很高或者有慢查询的时候,整个实例会消耗整个服务器更多的内存,cpu和各种资源,导致服务器上的其他的实例提供的服务质量下降。这就相当于大家住在一个房子的不同卧室一样,早晨起来刷牙,洗脸等,这样卫生间就会长期占用,其他人需要等一样的道理。

下面记录下装一个3307的MySQL的实例的步骤:

一. 基本的需求和出现的问题

当MySQL出现故障或者需要加入一个新的MySQL的实例的时候,需要重新初始化MySQL的数据库,也就是需要重新生成新的数据库的文件。

Linux环境中,安装编译好MySQL之后,还是不能直接启动MySQL,需要初始化Mysql的一些基本东西,包括:

初始化表日志,基本的数据库信息等一些基本的必须文件。

二.安装的步骤:

  (1). 假设已经存在一个MySQL的实例,端口号为3306,现在需要重新添加一个端口号为3307端口的MySql的实例。

  假设MySQl安装的路径是/usr/local/mysql/下面,找一个数据磁盘比较的地方,比如/data1/目录下,在这个目录下面创建数据文件夹:

1 mkdir -p /data1/mysql_3307/data

2 chown -R mysql::mysql /data1/mysql_3307

  (2). 复制之前的MySQl的配置文件,到/data1/mysql_3307/目录下面,并且进行编辑:

vim /data1/mysql_3307/my.cnf

基本的配置如下:

注:上面的路径可能与上面的数据库文件的存放路径有点出入,但这个不是重点,可以自行替换一下!

(3).确保配置文件无误,然后开始初始化数据库:

/usr/local/mysql/scripts/mysql_install_db –defaults-file=/data1/mysql_3307/my.cnf –datadir=/data1/mysql/ –basedir=/usr/lcoal/mysql

完成后,新的mysql 3307数据库已经初始化好了,如果有报错,则看下报错的日志,一般是由于mysql的配置文件导致的,修改即可!

(4).启动新的MySQL的实例服务:

在上面的初始化配置确保无误的情况下,就可以开始启动MySQL的又一个实例了。

1 /usr/local/mysql/bin/mysqld_safe –defaults-file=/data1/mysql_3308/my.cnf

2 检查是否启动:

3 ps -aux | grep mysql

4 如有3308的端口 则表示成功

(5).新的 mysql没有设置root密码,可以通过如下 的设置:

/usr/local/mysl/bin/mysqladmin -S /tmp/mysql_3308.sock -uroot passwd ‘new-paswd’;

如上面的步骤,即可完成一个机器上多个MySQL实例的安装与运行。

 当然了,可以将MySQL_server这个脚本放入到/rt/rc.local这个目录下面,随着服务器启动。

(6).如果想登陆的时候,需要指定MySQL的端口号,使用-P3307来指定登录到哪台数据库上即可。

 总结:

自己在安装这个数据库的时候,以为是需要再次下载一个新的数据库的源码包,但是其实是不用的,使用一个MySQL的源码包,是可以安装多个MySQL的实例的。

在一台机器上,怎样开启两个mysql服务

7月26日 10:36 有些情况下你可能想要在同一台机器上运行多个服务器。例如,你可能想要测试一个新的MySQL版本而让你现有生产系统的设置不受到干扰,或你可能是想要为不同的客户提供独立的MySQL安装一个因特网服务供应商。

如果你想要运行多个服务器,最容易的方法是用不同的TCP/IP端口和套接字文件重新编译服务器,因此他们不是侦听同一个TCP/IP端口或套接字。

假设一个现存服务器配置为缺省端口号和套接字文件,那么用一个这样的configure命令行设置新的服务器:

shell ./configure –with-tcp-port=port_number \

–with-unix-socket=file_name \

–prefix=/usr/local/mysql-3.22.9

这里port_number和file_name应该不同于缺省端口号和套接字文件路径名,而且–prefix值应该指定一个不同于现存的MySQL安装所在的安装目录。

你可以用这个命令检查由任何当前执行的MySQL所使用的套接字和端口:

shell mysqladmin -h hostname –port=port_number variables

如果你有一个MySQL服务器正运行在你使用了的端口上,你将得到MySQL的一些最重要的可配置变量的一张表,包括套接字名等。

你也应该编辑你机器的初始化脚本(可能是“mysql.server”)来启动并杀死多个mysqld服务器。

你不必重新编译一个新MySQL服务器,只要以一个不同的端口和套接字启动即可。你可以通过指定在运行时safe_mysqld使用的选项来改变端口和套接字:

shell /path/to/safe_mysqld –socket=file_name –port=port_number

如果你在与开启日志的另一个服务器相同的一个数据库目录下运行新服务器,你也应该用safe_mysqld的–log和–log-update选项来指定日志文件的名字,否则,两个服务器可能正在试图写入同一个日志文件。

警告:通常你决不应该有在同一个数据库中更新数据的2个服务器!如果你的OS不支持无故障(fault-free)的系统锁定,这可能导致令人惊讶的事情发生!

如果你想要为第二个服务器使用另一个数据库目录,你可以使用safe_mysqld的–datadir=path选项。

原创文章,作者:NIZQ,如若转载,请注明出处:https://www.506064.com/n/148887.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
NIZQNIZQ
上一篇 2024-11-04 17:49
下一篇 2024-11-04 17:49

相关推荐

  • 为什么Python不能编译?——从多个方面浅析原因和解决方法

    Python作为很多开发人员、数据科学家和计算机学习者的首选编程语言之一,受到了广泛关注和应用。但与之伴随的问题之一是Python不能编译,这给基于编译的开发和部署方式带来不少麻烦…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • Python生成随机数的应用和实例

    本文将向您介绍如何使用Python生成50个60到100之间的随机数,并将列举使用随机数的几个实际应用场景。 一、生成随机数的代码示例 import random # 生成50个6…

    编程 2025-04-29
  • Python合并多个相同表头文件

    对于需要合并多个相同表头文件的情况,我们可以使用Python来实现快速的合并。 一、读取CSV文件 使用Python中的csv库读取CSV文件。 import csv with o…

    编程 2025-04-29
  • 从多个方面用法介绍yes,but let me review and configure level of access

    yes,but let me review and configure level of access是指在授权过程中,需要进行确认和配置级别控制的全能编程开发工程师。 一、授权确…

    编程 2025-04-29
  • 从多个方面zmjui

    zmjui是一个轻量级的前端UI框架,它实现了丰富的UI组件和实用的JS插件,让前端开发更加快速和高效。本文将从多个方面对zmjui做详细阐述,帮助读者深入了解zmjui,以便更好…

    编程 2025-04-28
  • 学Python用什么编辑器?——从多个方面评估各种Python编辑器

    选择一个适合自己的 Python 编辑器并不容易。除了我们开发的应用程序类型、我们面临的软件架构以及我们的编码技能之外,选择编辑器可能也是我们编写代码时最重要的决定之一。随着许多不…

    编程 2025-04-28
  • 使用easypoi创建多个动态表头

    本文将详细介绍如何使用easypoi创建多个动态表头,让表格更加灵活和具有可读性。 一、创建单个动态表头 easypoi是一个基于POI操作Excel的Java框架,支持通过注解的…

    编程 2025-04-28
  • 如何在dolphinscheduler中运行chunjun任务实例

    本文将从多个方面对dolphinscheduler运行chunjun任务实例进行详细的阐述,包括准备工作、chunjun任务配置、运行结果等方面。 一、准备工作 在运行chunju…

    编程 2025-04-28
  • 创建列表的多个方面

    本文将从多个方面对创建列表进行详细阐述。 一、列表基本概念 列表是一种数据结构,其中元素以线性方式组织,并且具有特殊的序列位置。该位置可以通过索引或一些其他方式进行访问。在编程中,…

    编程 2025-04-28

发表回复

登录后才能评论