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

yizhihongxing

下面就为您详细讲解“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 Server 层四个日志详解

    MySQL Server 层的四个日志分别是二进制日志(Binary log)、错误日志(Error log)、查询日志(Query log)和慢查询日志(Slow query log)。下面我会逐一进行详细的讲解。 一、二进制日志 二进制日志是 MySQL 用来记录数据库更新操作的日志文件。它记录的是对 MySQL 数据库进行的所有写操作,包括增加或删除数…

    database 2023年5月21日
    00
  • 延迟更新和立即更新的区别

    延迟更新和立即更新是网站更新的两种方式,两者的区别在于在网站对内容进行修改后,更新内容何时对用户可见。 延迟更新 延迟更新指的是更新的操作和用户看到更新内容之间有一个时间间隔,这个时间间隔可能是几分钟、几小时或者几天不等。在这段时间中,用户看到的是网站上原来的内容,而不是更新后的内容。 延迟更新的优点是减轻了服务器的压力,因为服务器无需同时处理所有用户的访问…

    database 2023年3月27日
    00
  • MSSQL 基本语法及实例操作语句

    MSSQL是一种关系型数据库管理系统,具有强大的数据管理和查询功能。下面将详细讲解MSSQL的基本语法及实例操作语句。 MSSQL基本语法 1. 创建数据库 CREATE DATABASE database_name; 2. 删除数据库 DROP DATABASE database_name; 3. 创建表 CREATE TABLE table_name (…

    database 2023年5月21日
    00
  • DBMS 中的替代键

    DBMS中的替代键是一种辅助主键的技术,用于标识数据库表中每一行的唯一性。替代键的目的是在主键无法满足要求时为数据库表提供唯一标识。在本文中,我们将详细讲解DBMS中替代键的定义、分类、应用场景以及实例说明。 什么是替代键? 替代键是DBMS中的一种技术,用于标识数据库表中每一行的唯一性。当主键无法满足要求时,可以使用替代键作为唯一标识。替代键不是自然键,而…

    database 2023年3月27日
    00
  • linux安装全中文管理面板教程(php+mysql)

    针对这个主题,我来详细讲解一下“Linux安装全中文管理面板教程(PHP+MySQL)”的完整攻略。 1. 安装Apache服务器 首先,我们需要安装Apache服务器,Apache服务器是一款开源的Web服务器软件,为我们之后搭建Web服务器提供服务支持: sudo apt-get update sudo apt-get install apache2 安…

    database 2023年5月22日
    00
  • php进程daemon化的正确实现方法

    关于如何正确实现PHP进程Daemon化,主要分以下几个步骤: 编写Daemon化脚本 Daemon化脚本是实现PHP进程Daemon化的关键,它的作用是把PHP进程转化为Daemon进程。具体代码如下: <?php $pid = pcntl_fork(); if ($pid == -1) { die("fork(1) failed!\n&q…

    database 2023年5月22日
    00
  • fedora8 下mysql 安装的安装方法

    下面是“Fedora 8下MySQL安装的安装方法”的完整攻略: 安装前准备 在进行MySQL安装之前,需要先安装一些必要的软件和依赖项,执行以下命令: sudo dnf install -y wget ncurses-devel 下载安装包 下载MySQL安装包,可以在MySQL官网下载:https://dev.mysql.com/downloads/my…

    database 2023年5月22日
    00
  • 如何在Python中删除SQLite数据库中的数据?

    以下是在Python中删除SQLite数据库中的数据的完整使用攻略。 删除SQLite数据库中的数据简介 在Python中,可以使用sqlite3模块连接SQLite数据库,并使用DELETE FROM语句删除数据。删除数据时,需要指定要删除的表和删除条件。删除结果可以使用游标对象的rowcount属性获取。 步骤1:导入模块 在Python中,使用sqli…

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