CentOS7.5使用mysql_multi方式安装MySQL5.7.28多实例(详解)

我们来详细讲解“CentOS7.5使用mysql_multi方式安装MySQL5.7.28多实例(详解)”的操作步骤。

1. 准备工作

1.1 安装mysql源

# 下载rpm包
wget http://repo.mysql.com/mysql57-community-release-el7.rpm

# 安装rpm包
sudo rpm -ivh mysql57-community-release-el7.rpm

# 更新yum源并安装
sudo yum update
sudo yum install mysql-community-server mysql-community-client

1.2 修改默认安装目录

MySQL默认的安装目录是 /var/lib/mysql,为了能够方便的使用 mysql_multi 方式来管理多个 MySQL 服务器实例,我们需要将 MySQL 的安装目录改为 /home/mysql

# 停止 MySQL 服务
sudo systemctl stop mysqld.service

# 备份 /var/lib/mysql 数据目录
sudo mv /var/lib/mysql /var/lib/mysql.bak

# 创建新的 /home/mysql 数据目录
sudo mkdir -p /home/mysql

# 复制原有数据到 /home/mysql 目录
sudo cp -rf /var/lib/mysql.bak/* /home/mysql

# 修改数据目录权限
sudo chown -R mysql:mysql /home/mysql

# 修改配置文件中的路径
sudo vim /etc/my.cnf

# 在 [mysqld] 段添加下面两行,并将 datadir 和 socket 参数指向新的 /home/mysql 目录
[mysqld]
datadir=/home/mysql
socket=/home/mysql/mysql.sock

# 重启 MySQL 服务
sudo systemctl start mysqld.service

1.3 初始化 MySQL

sudo mysql_secure_installation

2. 创建多实例

2.1 安装 perl-Module-Install

mysql_multi 需要依赖 perl-Module-Install 进行安装,因此需要先安装该组件。

sudo yum install -y perl-Module-Install

2.2 修改 my.cnf 对应配置文件

每个实例的配置文件都需要独立配置。在我的配置中,我创建了两个实例,分别为 instance1、instance2。在修改配置文件时,需要将配置文件名修改为对应实例名。

# 复制默认配置文件到新的配置文件,修改为对应实例名
sudo cp /etc/my.cnf /etc/my-instance1.cnf
sudo cp /etc/my.cnf /etc/my-instance2.cnf

# 修改 my-instance1.cnf 文件
sudo vim /etc/my-instance1.cnf
[mysqld]
pid-file=/home/mysql/instance1/mysql.pid
socket=/home/mysql/instance1/mysql.sock
port=3308
innodb_buffer_pool_size=128M
log-bin=mysql-bin
log-error=mysql-bin.err

# 修改 my-instance2.cnf 文件
sudo vim /etc/my-instance2.cnf
[mysqld]
pid-file=/home/mysql/instance2/mysql.pid
socket=/home/mysql/instance2/mysql.sock
port=3309
innodb_buffer_pool_size=256M
log-bin=mysql-bin
log-error=mysql-bin.err

2.3 创建实例

使用 mysql_multi 命令来创建实例。

sudo mysql_multi stop
sudo mysql_multi report
sudo mysql_multi start instance1
sudo mysql_multi start instance2
sudo mysql_multi report

通过 mysql_multi report 命令来查看创建的实例信息。

3. 示例说明

3.1 示例一

3.1.1 创建新实例

假设我们想要创建一个名为 test 的新实例,并将其端口号设置为 3333,需要按照如下步骤进行操作:

# 创建新的配置文件
sudo cp /etc/my.cnf /etc/my-test.cnf

# 修改对应参数
sudo vim /etc/my-test.cnf
[mysqld]
pid-file=/home/mysql/test/mysql.pid
socket=/home/mysql/test/mysql.sock
port=3333
innodb_buffer_pool_size=512M
log-bin=mysql-bin
log-error=mysql-bin.err

# 创建新实例
sudo mysql_multi start test

3.1.2 连接到新实例

使用命令 mysql --socket=/home/mysql/test/mysql.sock 来连接到新实例。

# 连接到新实例
mysql --socket=/home/mysql/test/mysql.sock

3.2 示例二

3.2.1 删除现有实例

假设我们不再需要 instance2 实例,需要将其删除,需要按照如下步骤进行操作:

# 删除实例
sudo mysql_multi stop
sudo mysql_multi report
sudo mysql_multi remove instance2
sudo mysql_multi report

3.2.2 修改现有实例

假设我们需要将 test 实例的端口号修改为 3334,需要按照如下步骤进行操作:

# 修改配置文件
sudo vim /etc/my-test.cnf
[mysqld]
pid-file=/home/mysql/test/mysql.pid
socket=/home/mysql/test/mysql.sock
port=3334
innodb_buffer_pool_size=512M
log-bin=mysql-bin
log-error=mysql-bin.err

# 重启实例
sudo mysql_multi restart test

这就是 “CentOS7.5使用mysql_multi方式安装MySQL5.7.28多实例(详解)” 的攻略,希望对您有帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CentOS7.5使用mysql_multi方式安装MySQL5.7.28多实例(详解) - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • Linux 集群技术

    Linux 集群技术详解 什么是 Linux 集群技术? Linux 集群技术是利用多台计算机(通常是服务器)组成一个集群,以达到提高系统可用性、可扩展性、负载均衡等目的。这些计算机之间通过网络通信进行交互,并共享数据和资源。 常见的 Linux 集群技术 Linux 集群技术有很多种,常见的包括: 1. 负载均衡集群 负载均衡集群的目的是将请求分布到多台服…

    database 2023年5月22日
    00
  • 2018年java技术面试题整理

    “2018年Java技术面试题整理”完整攻略 背景 随着Java技术日益成为主流的编程语言之一,在Java相关职业市场上越来越重要。为了能够在Java面试中脱颖而出,熟练掌握Java编程语言和相关技术是必要的。因此,本文对Java技术面试中最为关键的知识点进行梳理总结,希望能够为读者提供有用的参考。 知识点整理 Java基础:包括Java语言的特性、基本语法…

    database 2023年5月19日
    00
  • SpringBoot 整合 Spring-Session 实现分布式会话项目实战

    SpringBoot 整合 Spring-Session 实现分布式会话项目实战 介绍 随着业务流程的扩大,单一应用已经无法满足我们的需求。需要引入分布式架构,将任务分发到多个服务器上进行处理。但是分布式带来的问题是不同服务器之间的数据同步和共享问题。针对这个问题,可以使用 session 共享技术来解决。 Spring-Session 是 Spring 提…

    database 2023年5月22日
    00
  • android设备不识别awk命令 缺少busybox怎么办

    Android设备不识别awk命令 缺少Busybox解决方案 在某些情况下,我们需要在Android设备上使用awk命令进行文本处理,但是发现设备不识别awk命令,这是因为Android本身并没有集成awk命令。要使用awk命令,我们需要安装busybox工具。 什么是Busybox Busybox是一个单一可执行文件的工具箱,它包含了常用Linux命令的…

    database 2023年5月22日
    00
  • 最全阿里面试题合集118道+答案(阿里技术专家分享)

    首先,这是一个阿里面试题的合集,包含了118道题目和对应的答案。这个合集中的问题涵盖了阿里巴巴的各个技术岗位,从算法和数据结构到操作系统和网络编程等各个方面。但是,这里需要注意的是,这个合集并不是阿里官方出品的面试题库,只是一些技术专家自己总结的样例题目。 那么,对于准备去阿里面试的同学来说,这个合集可以提供一些参考和练习用的例题,但并不能代替对于基础知识和…

    database 2023年5月22日
    00
  • 云原生使用Docker部署mysql数据库的详细过程

    让我来讲解一下“云原生使用Docker部署MySQL数据库的详细过程”。 1. 下载MySQL镜像 首先,我们需要从Docker Hub上下载MySQL镜像。可以在命令行中执行: docker pull mysql 该命令会从Docker Hub上下载最新版本的MySQL镜像。 2. 创建MySQL容器 接下来,我们需要创建一个MySQL容器。可以使用以下命…

    database 2023年5月22日
    00
  • Oracle 创建监控账户 提高工作效率

    Oracle 创建监控账户 提高工作效率 为什么要创建监控账户 在 Oracle 数据库的日常运维中,为了保证数据库的稳定性和安全性,需要对数据库的各种性能指标、日志信息、系统状态等进行监控,及时发现并解决潜在问题。这些监控数据需要通过一定的手段进行采集和分析,通常需要使用一些第三方工具或者脚本。为了确保安全性和权限控制,这些工具或脚本需要使用一个专门的账户…

    database 2023年5月22日
    00
  • CentOS8部署LNMP环境之编译安装mysql8.0.29的教程详解

    CentOS8部署LNMP环境之编译安装Mysql8.0.29的教程详解 简介 MySQL 是一个流行的关系型数据库管理系统,常用于 Web 应用程序的开发和部署。本教程将向您介绍如何在 CentOS 8 服务器上编译安装 MySQL 8.0.29。 步骤一:安装编译工具 在安装 MySQL 之前,需先安装编译 MySQL 所需的工具和库文件: sudo d…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部