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_十六进制值

    十六进制值 MySQL支持十六进制值。在数字上下文中,十六进制数如同整数(64位精度)。在字符串上下文,如同二进制字符串,每对十六进制数字被转换为一个字符: mysql> SELECT x’4D7953514C’; -> ‘MySQL’ mysql> SELECT 0xa+0; -> 10 mysql> SELECT 0x506…

    MySQL 2023年4月13日
    00
  • k8s部署redis cluster集群的实现

    下面是关于”k8s部署redis cluster集群的实现”的完整攻略: 简介 Redis是一种常用的NoSQL数据库,它支持内存中的数据存储,使其能够快速地处理大量的数据,是一个非常流行的缓存工具。而随着云计算的发展,Kubernetes也成为了流行的容器化部署工具之一,因此,将Redis集群部署到Kubernetes上是一个非常实用的操作。 在Kuber…

    database 2023年5月22日
    00
  • ORACLE常见错误代码的分析与解决(二)

    这里是 “ORACLE常见错误代码的分析与解决(二)” 的完整攻略。 1.了解常见错误代码 在进行ORA错误代码的解析前,我们首先需要了解ORACLE中的常见错误代码,这可以帮助我们更快更准确地定位问题。 以下是一些常见的ORACLE错误代码: ORA-00904:无效标识符。该错误通常是因为某个对象或者列名拼写有误,或者该对象不存在。 ORA-00936:…

    database 2023年5月21日
    00
  • eXtremeDB 6.0正式发布:提高扩展性和分布式查询速度

    “eXtremeDB 6.0正式发布: 提高扩展性和分布式查询速度”攻略 什么是eXtremeDB? eXtremeDB是一款内存数据库管理系统,旨在提供高速、可扩展、可靠的数据管理解决方案。它具有多种用途和应用场景,例如网络路由、物联网、金融、电信、航空、游戏等领域。 eXtremeDB 6.0发布 eXtremeDB 6.0通过提高扩展性和分布式查询速度…

    database 2023年5月19日
    00
  • oracle case when 语句的用法详解

    Oracle CASE WHEN 语句的用法详解 什么是 Oracle CASE WHEN 语句 Oracle CASE WHEN 语句是一种条件表达式,它可以根据指定的条件执行不同的代码块,类似于程序中的 if-else 逻辑判断。 Oracle CASE WHEN 语句的语法 Oracle CASE WHEN 语句的基本语法如下: CASE WHEN c…

    database 2023年5月21日
    00
  • Redis密码设置与访问限制实现方法

    Redis是一款内存型的Key-Value数据库,用于缓存访问速度较快的数据。由于Redis无认证机制,任何人只要知道Redis服务的IP地址和端口号,就可以连接到Redis服务,并对其中的数据进行任意的操作,这显然不太安全。为了保护Redis数据的安全性,我们需要设置密码和访问限制。 下面我将介绍Redis密码设置与访问限制实现的完整攻略,具体步骤如下: …

    database 2023年5月22日
    00
  • linux系统 配置DataGuard时报ORA-12528错误的解决办法

    当配置Linux系统下Oracle数据库的DataGuard时,有时会遇到ORA-12528错误,这是因为监听器没有被正确设置引起的。本文将详细介绍如何解决这个问题。 问题描述 在配置Oracle DataGuard时,部署完主库,建立归档传输服务,配置好主库的tnsnames和listener.ora文件后,尝试在备库的tnsnames中添加主库的模式为l…

    database 2023年5月22日
    00
  • DBA应该知道的一些关于SQL Server跟踪标记的使用

    DBA应该知道的一些关于SQL Server跟踪标记的使用 SQL Server 提供了一些跟踪标记(Trace Flag),可以用来开启或关闭某些功能或调整某些设置。这些标记有时候非常有用,可以解决某些问题或提高某些性能。本文将讲解一些 DBA 应该知道的有关跟踪标记的使用。 开启跟踪标记的常用方法 开启跟踪标记有多种方法,这里仅介绍两种最常用的方法:在命…

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