CentOS 7.0如何启动多个MySQL实例教程(mysql-5.7.21)

下面就为您详细讲解“CentOS 7.0如何启动多个MySQL实例教程(mysql-5.7.21)”的完整攻略。

准备工作

在开始之前,需要你按照以下步骤进行准备:

  1. 确保你的服务器已经安装了CentOS 7.0系统和MySQL 5.7.21。
  2. 创建一个新的MySQL数据目录,例如:/data/mysql-3307。
  3. 修改MySQL的配置文件my.cnf,在该文件中创建一个新的MySQL实例。

创建新MySQL实例

我们需要创建一个新的MySQL实例,并为其指定新的数据目录和端口号,步骤如下:

  1. 复制MySQL配置文件my.cnf并重命名为my-3307.cnf。
$ sudo cp /etc/my.cnf /etc/my-3307.cnf
  1. 编辑新复制的my-3307.cnf文件,修改MySQL的数据目录和端口号。
# 端口号
port=3307

# 数据目录
datadir=/data/mysql-3307
  1. 创建新的MySQL数据目录。
$ sudo mkdir /data/mysql-3307
  1. 将文件所有者设置为mysql用户。
$ sudo chown -R mysql:mysql /data/mysql-3307
  1. 初始化新的MySQL实例。
$ sudo mysql_install_db --user=mysql --datadir=/data/mysql-3307/

启动新的MySQL实例

完成创建新MySQL实例后,我们需要将其启动。需要注意的是,我们需要为该实例创建一个新的systemd unit文件,以便于在后续操作中进行管理。

  1. 新建一个名为mysql@.service的文件,并编辑此文件。
$ sudo vi /usr/lib/systemd/system/mysql@.service
  1. 在该文件中添加以下内容:
[Unit]
Description=MySQL Database Server
After=network.target

[Service]
User=mysql
Group=mysql
Type=forking
PIDFile=/data/mysql-%i/mysqld.pid
ExecStart=/usr/sbin/mysqld --defaults-file=/etc/my-%i.cnf $MYSQLD_OPTS
ExecStop=/usr/bin/mysqladmin --defaults-file=/etc/my-%i.cnf -uroot -p shutdown
Restart=on-failure

[Install]
WantedBy=multi-user.target
  1. 启动新的MySQL实例。
$ sudo systemctl start mysql@3307
  1. 确认是否启动成功。
$ sudo systemctl status mysql@3307

示例说明

假设现在我们需要同时启动两个MySQL实例,他们的数据库端口分别为3306和3307,我们可以通过如下方式操作:

  1. 复制MySQL配置文件my.cnf并分别重命名为my-3306.cnf和my-3307.cnf。
$ sudo cp /etc/my.cnf /etc/my-3306.cnf
$ sudo cp /etc/my.cnf /etc/my-3307.cnf
  1. 编辑新复制的my-3306.cnf和my-3307.cnf文件,修改MySQL的数据目录和端口号。

对于my-3306.cnf文件:

# 端口号
port=3306

# 数据目录
datadir=/data/mysql-3306

对于my-3307.cnf文件:

# 端口号
port=3307

# 数据目录
datadir=/data/mysql-3307
  1. 分别创建新的MySQL数据目录。
$ sudo mkdir /data/mysql-3306
$ sudo mkdir /data/mysql-3307
  1. 将文件所有者设置为mysql用户。
$ sudo chown -R mysql:mysql /data/mysql-3306
$ sudo chown -R mysql:mysql /data/mysql-3307
  1. 初始化新的MySQL实例。
$ sudo mysql_install_db --user=mysql --datadir=/data/mysql-3306/
$ sudo mysql_install_db --user=mysql --datadir=/data/mysql-3307/
  1. 新建mysql@.service文件并编辑此文件。
$ sudo vi /usr/lib/systemd/system/mysql@.service
  1. 在该文件中添加以下内容:
[Unit]
Description=MySQL Database Server
After=network.target

[Service]
User=mysql
Group=mysql
Type=forking
PIDFile=/data/mysql-%i/mysqld.pid
ExecStart=/usr/sbin/mysqld --defaults-file=/etc/my-%i.cnf $MYSQLD_OPTS
ExecStop=/usr/bin/mysqladmin --defaults-file=/etc/my-%i.cnf -uroot -p shutdown
Restart=on-failure

[Install]
WantedBy=multi-user.target
  1. 启动新的MySQL实例。
$ sudo systemctl start mysql@3306
$ sudo systemctl start mysql@3307
  1. 确认是否启动成功。
$ sudo systemctl status mysql@3306
$ sudo systemctl status mysql@3307

以上就是详细的“CentOS 7.0如何启动多个MySQL实例教程(mysql-5.7.21)”攻略过程。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CentOS 7.0如何启动多个MySQL实例教程(mysql-5.7.21) - Python技术站

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

相关文章

  • MySQL用命令行运行sql文件的详细图文教程

    当我们使用MySQL时,需要创建数据库、数据表以及插入数据等操作,可以通过命令行模式来实现。当我们需要批量导入数据时,可以通过将SQL文件导入MySQL中。下面我来给出MySQL用命令行运行SQL文件的详细攻略。 准备工作 在使用命令行运行SQL文件之前,需要先准备好以下步骤: 确保MySQL的安装路径已经加入系统环境变量中。 打开命令行窗口,输入 mysq…

    database 2023年5月22日
    00
  • MySQL 8.0新特性 — 管理端口的使用简介

    MySQL 8.0新特性 — 管理端口的使用简介 MySQL 8.0引入了一些新特性,其中一个是管理端口(Management Port)。管理端口是用于与MySQL服务器实例进行管理通信的端口。在此文章中,我们将讨论如何使用管理端口。 启用管理端口 如果要使用管理端口,需要在MySQL服务器实例中启用它。可以使用以下命令来启用管理端口: mysqlsh-j…

    database 2023年5月22日
    00
  • PostgreSQL使用MySQL外表的步骤详解(mysql_fdw)

    PostgreSQL使用MySQL外表的步骤详解(mysql_fdw) MySQL外表(fdw)允许PostgreSQL服务器访问远程MySQL服务器上的数据,就好像它们存在于PostgreSQL本地一样。这可以极大地简化数据集成,特别是在需要合并来自不同数据库的数据时。 下面是使用mysql_fdw的步骤以及具体操作: 步骤一:安装mysql_fdw 首先…

    database 2023年5月22日
    00
  • Flutter使用sqflite处理数据表变更的方法详解

    Flutter使用sqflite处理数据表变更的方法详解 在Flutter应用程序中使用sqflite时,可能会遇到数据表结构的变更,如添加、删除或更改表的列。在这种情况下,您需要更新旧表的结构以适应新需求,同时需要保持现有数据的完整性。下面介绍如何使用sqflite进行数据表变更,以及更好地管理数据迁移和版本控制。 1. 数据库文件版本管理 在Flutte…

    database 2023年5月22日
    00
  • MYSQL数据库-SELECT详解

    将SQL文件导入数据库中   $   source /url/file_name.sql ======================================================= SELECT基本格式:   $ SELECT col FROM t_name WHERE condition; =======================…

    MySQL 2023年4月13日
    00
  • C#编程实现连接SQL SERVER数据库实例详解

    C#编程实现连接SQL SERVER数据库实例详解 在C#编程中,连接数据库是非常常见的操作。本文将详细讲解如何使用C#编程实现连接SQL SERVER数据库的过程。 步骤 1. 引用命名空间 在C#程序中,我们首先需要引用System.Data.SqlClient命名空间,以使用SQL Server相关的类和方法。 using System.Data.Sq…

    database 2023年5月21日
    00
  • 超全的webshell权限提升方法

    下面我来详细讲解“超全的webshell权限提升方法”的完整攻略。 什么是WebShell 在开始讲解 WebShell 权限提升的攻略之前,先简要介绍一下 WebShell。WebShell 是一种由黑客通过 Web 服务器的漏洞等方式上传到 Web 服务器中的一种脚本文件,可以通过 Web 服务器 HTTP 服务对外发布,并提供给黑客查看、控制 Web …

    database 2023年5月21日
    00
  • 在MySQL中使用JOIN语句进行连接操作的详细教程

    下面是详细讲解“在MySQL中使用JOIN语句进行连接操作的详细教程”的完整攻略。 使用JOIN语句进行连接操作的基本概念 在MySQL中,JOIN语句是用于连接两个或更多表的语句。使用JOIN语句可以将多个表中的数据“拼接”起来,以实现更加强大的查询功能。JOIN语句主要包括如下几种类型: INNER JOIN:内连接,只查询同时存在于两个表中的数据。 L…

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