Linux下MySQL多实例部署及安装指南

下面就让我详细讲解“Linux下MySQL多实例部署及安装指南”。

一、前言

如果您需要在一台Linux服务器上同时运行多个MySQL实例,您可以通过以下步骤实现多实例部署。多实例可以提高服务器的利用率,降低运维成本。

二、安装MySQL

在开始之前,您需要先安装MySQL。可通过以下命令在CentOS 7上安装MySQL5.7版本的二进制rpm包:

$ wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
$ yum localinstall mysql57-community-release-el7-11.noarch.rpm
$ yum install mysql-community-server

三、创建多实例目录

在安装MySQL之后,需要创建多实例的目录。可通过以下命令创建多实例目录:

$ mkdir /home/mysql1
$ mkdir /home/mysql2

四、配置多实例

创建完多实例目录之后,需要分别配置多实例。每个MySQL实例都需要一个自己的配置文件。

1.复制默认配置文件

可以复制MySQL的默认配置文件,并根据实际需要修改配置文件。假设我们要创建两个MySQL实例,分别在/home/mysql1和/home/mysql2目录下,可以通过以下命令复制默认配置文件:

$ cp /etc/my.cnf /home/mysql1/my.cnf
$ cp /etc/my.cnf /home/mysql2/my.cnf

2.修改配置文件

修改/home/mysql1/my.cnf配置文件中的以下几行:

[mysqld]
datadir=/home/mysql1/data
socket=/home/mysql1/mysql.sock
pid-file=/home/mysql1/mysqld.pid
port=3306

修改/home/mysql2/my.cnf配置文件中的以下几行:

[mysqld]
datadir=/home/mysql2/data
socket=/home/mysql2/mysql.sock
pid-file=/home/mysql2/mysqld.pid
port=3307

3.复制数据目录

复制一份默认的数据目录/data到/home/mysql1/data和/home/mysql2/data:

$ cp -R /var/lib/mysql /home/mysql1/data
$ cp -R /var/lib/mysql /home/mysql2/data

4.更改目录和文件权限

更改数据目录和多实例目录的权限为mysql用户所拥有,具体命令如下:

$ chown -R mysql:mysql /home/mysql1
$ chown -R mysql:mysql /home/mysql2

五、启动多实例

最后一步,我们需要验证配置,启动数个MySQL实例。

1.检查端口是否可用

使用netstat命令检查MySQL的默认端口3306和配置的端口3307是否都处于监听状态:

$ netstat -antp|grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      3022/mysqld
$ netstat -antp|grep 3307

如果3307端口没有处于监听状态,就说明该端口可用。

2.启动MySQL实例

使用mysqld_safe命令启动两个MySQL实例:

$ mysqld_safe --defaults-file=/home/mysql1/my.cnf &
$ mysqld_safe --defaults-file=/home/mysql2/my.cnf &

3.使用新账户测试实例

使用新的MySQL登录账户分别测试启动两个实例:

$ mysql -u root -p -S /home/mysql1/mysql.sock
$ mysql -u root -p -S /home/mysql2/mysql.sock

至此,两个MySQL实例都已启动。您也可以通过以上方式创建更多的MySQL实例。

六、示例说明

示例1:启动实例失败问题排查

如果出现启动实例失败的问题,可以使用以下方式排查问题:

  1. 查看错误日志:mysqld_safe命令启动MySQL时会同时启动MySQL error log,日志文件的路径默认为data目录下的hostname.err;

  2. 检查配置文件内容:可通过比较多实例配置文件和默认配置文件的差异来找到配置错误的地方;

  3. 检查目录、文件权限:特别是数据目录,需要确保mysql用户具有读写权限;

  4. 检查端口是否被占用:可通过使用netstat命令来检查端口是否已被占用,如:netstat -antp|grep 3306;

  5. 细致查看错误提示:启动失败后,可以查看控制台输出的错误信息,并对照错误信息进行排查。

示例2:添加新实例

如果您需要添加更多的MySQL实例,只需要按照上述步骤进行相应修改即可,具体步骤如下:

  1. 创建新的实例目录;

  2. 拷贝默认配置文件到新目录中;

  3. 修改新目录下的配置文件;

  4. 拷贝已有数据目录到新实例目录下;

  5. 修改新的实例数据目录和多实例目录的权限,确保mysql用户具有读写权限;

  6. 使用mysqld_safe命令启动新的实例,以及验证新实例是否正确启动。

希望我对您有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux下MySQL多实例部署及安装指南 - Python技术站

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

相关文章

  • shell读取配置文件-sed命令

    在编写启动脚本时,涉及到读取配置文件,特地记录下shell脚本读取启动文件的方式。主要提供两种格式的读取方式,方式一配置文件采用“[]”进行分区,方式二配置文件中需要有唯一的配置项名称。 配置文件格式如下: # cat -n config.ini 1 #MYSQL配置项 2 [MYSQL] 3 DB_HOST=192.168.0.1 4 DB_PORT=33…

    Linux 2023年4月17日
    00
  • linux下安装team viewer的方法

    以下是“linux下安装teamviewer的方法”的完整攻略: 1. 下载TeamViewer 首先,我们需要到TeamViewer官网下载适合自己系统的安装包,可以通过以下链接进入官网并下载适合对应系统的安装包: https://www.teamviewer.com/en/download/linux/ 例如,如果要下载适合Ubuntu 64位系统的安装…

    Linux 2023年5月14日
    00
  • linux系统中,查看当前系统中,都在监听哪些端口

    需求描述:   查看当前系统中都监听着哪些的端口,用netstat命令,在此记录下 操作过程: 1.查看系统中都在监听哪些端口 [root@testvm home]# netstat -ntl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreig…

    Linux 2023年4月11日
    00
  • Ubuntu20.10优麒麟触摸手势有哪些? 优麒麟系统新增手势汇总

    Ubuntu20.10优麒麟触摸手势有哪些? 前言 随着近年来电脑硬件的快速发展以及移动操作系统的普及,人们对于电脑的操作方式也发生了很大的变化。触摸屏电脑在逐渐普及的同时,在其使用体验上,比传统鼠标键盘方式更具有优势。 鉴于此,优麒麟系统在Ubuntu 20.10版本推出了一些新增的触摸手势功能。接下来,我们将一一解说并总结这些触摸手势的使用方法与操作实例…

    Linux 2023年5月30日
    00
  • 阿里云服务器CentOS服务器初始化设置步骤

    接下来我将详细讲解“阿里云服务器CentOS服务器初始化设置步骤”的完整攻略。 初始设置 当你获得新的阿里云服务器时,需要执行一些初始的设置。这些设置包括: 1. 修改密码 初始密码是一组随机生成的密码,你需要修改为自己的密码,具体步骤如下: 使用SSH连接服务器 登录获取的初始密码 输入命令passwd,然后按照提示输入当前密码和新密码即可。 2. 创建新…

    Linux 2023年5月14日
    00
  • centos7 PHP环境搭建 GD库 等插件安装方法

    CentOS 7 PHP环境搭建GD库等插件安装方法 在 CentOS 7 上搭建 PHP 环境并安装 GD 库等插件可以通过以下步骤完成。 安装 PHP 在 CentOS 上安装 PHP 可以使用 yum 命令轻松完成: sudo yum install php 安装 GD 库 安装 GD 库依赖库: sudo yum install -y libpng-…

    Linux 2023年5月14日
    00
  • 详解CentOS 7.4下如何部署Asp.Net Core结合consul

    好的。详解CentOS 7.4下如何部署Asp.Net Core结合consul的完整攻略,可以分为以下几个步骤: 1. 安装和配置consul 1.1. 下载consul可执行文件,可在consul的官网下载http://www.consul.io/。 wget https://releases.hashicorp.com/consul/1.9.1/con…

    Linux 2023年5月24日
    00
  • crontab使用说明【一文搞懂Linux定时任务Crontab】

    1、简介 cron是一个在后台运行调度的守护进程,而crontab是一个设置cron的工具。cron调度的是/etc/crontab文件。 2、centos安装crontab yum install crontabs 3、crontab的配置文件 Linux下的任务调度分为两类:系统任务调度和用户任务调度。Linux系统任务是由 cron (crond) 这…

    2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部