Centos中安装多个mysql数据的配置实例

yizhihongxing

下面是CentOS中安装多个mysql数据的配置实例的详细攻略:

1. 安装MySQL

首先,你需要安装MySQL。可以通过以下命令来安装:

sudo yum install mysql-server

安装过程中,你需要输入以下命令来启动MySQL服务:

sudo systemctl start mysqld

并设置MySQL服务在开机时启动:

sudo systemctl enable mysqld

2. 配置多个MySQL实例

常规情况下,CentOS只允许在一个端口上监听一个MySQL实例。因此,如果你想在同一台机器上运行多个实例,你需要创建新的配置文件并指定不同的监听端口。

以下是创建并配置两个MySQL实例的示例:

示例一

首先,你需要在/etc目录下创建一个新的配置文件my.cnf,并将以下内容添加到该文件中:

[mysqld_multi]
mysqld     = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
log        = /var/log/mysqld_multi.log

[mysqld]
port       = 3309
socket     = /var/run/mysqld/mysqld_3309.sock
datadir    = /var/lib/mysql/mysql1

[mysqld1]
port       = 3310
socket     = /var/run/mysqld/mysqld_3310.sock
datadir    = /var/lib/mysql/mysql2

其中,[mysqld_multi]是一个特殊的配置块,用于指定多个MySQL实例的启动程序、管理程序和日志文件路径。[mysqld][mysqld1]是两个MySQL实例的配置块。你可以根据自己的需要添加更多的实例。

接下来,你需要创建MySQL实例的文件夹和数据目录:

sudo mkdir /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
sudo mysql_install_db --user=mysql --datadir=/var/lib/mysql/mysql1
sudo mysql_install_db --user=mysql --datadir=/var/lib/mysql/mysql2
sudo chown -R mysql:mysql /var/lib/mysql

然后,你可以启动两个MySQL实例:

sudo mysqld_multi start

现在,你可以通过mysql命令连接到这两个实例:

mysql -P 3309
mysql -P 3310

示例二

除了上述方法之外,你还可以使用systemd来配置两个MySQL实例。首先,你需要创建两个系统服务文件:/etc/systemd/system/mysqld1.service/etc/systemd/system/mysqld2.service

mysqld1.service的内容如下:

[Unit]
Description=MySQL Server Instance one
After=syslog.target

[Service]
User=mysql
Group=mysql
ExecStart=/usr/sbin/mysqld --defaults-file=/etc/my.cnf.d/mysql1.cnf -f
ExecStop=/usr/bin/mysqladmin --defaults-file=/etc/my.cnf.d/mysql1.cnf shutdown
PIDFile=/var/run/mysqld/mysqld1.pid
Restart=always
RestartSec=2s

[Install]
WantedBy=multi-user.target

mysqld2.service的内容如下:

[Unit]
Description=MySQL Server Instance two
After=syslog.target

[Service]
User=mysql
Group=mysql
ExecStart=/usr/sbin/mysqld --defaults-file=/etc/my.cnf.d/mysql2.cnf -f
ExecStop=/usr/bin/mysqladmin --defaults-file=/etc/my.cnf.d/mysql2.cnf shutdown
PIDFile=/var/run/mysqld/mysqld2.pid
Restart=always
RestartSec=2s

[Install]
WantedBy=multi-user.target

在上述配置中,--defaults-file参数指定了MySQL配置文件的路径,PIDFile指定了PID文件的保存路径。

接下来,你需要在/etc/my.cnf.d/目录下创建两个MySQL配置文件mysql1.cnfmysql2.cnf。内容如下:

mysql1.cnf

[mysqld]
port=3307
datadir=/var/lib/mysql/mysql1
socket=/var/lib/mysql/mysql1/mysql.sock

[mysql_safe]
log-error=/var/log/mysql/mysql1.err
pid-file=/var/run/mysqld/mysqld1.pid

mysql2.cnf

[mysqld]
port=3308
datadir=/var/lib/mysql/mysql2
socket=/var/lib/mysql/mysql2/mysql.sock

[mysql_safe]
log-error=/var/log/mysql/mysql2.err
pid-file=/var/run/mysqld/mysqld2.pid

在上述配置中,port参数指定了MySQL的监听端口,datadir指定了数据目录,socket指定了socket文件路径。

然后,你需要创建MySQL实例的文件夹和数据目录:

sudo mkdir -p /var/lib/mysql/mysql1
sudo mkdir -p /var/lib/mysql/mysql2
sudo chown -R mysql:mysql /var/lib/mysql
sudo chmod 700 /var/lib/mysql/mysql*

最后,你需要将两个MySQL服务注册为系统服务并启动它们:

sudo systemctl enable mysqld1.service
sudo systemctl enable mysqld2.service
sudo systemctl start mysqld1.service
sudo systemctl start mysqld2.service

现在,你可以通过mysql命令连接到这两个实例:

mysql -P 3307
mysql -P 3308

以上就是CentOS中安装多个mysql数据的配置实例的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Centos中安装多个mysql数据的配置实例 - Python技术站

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

相关文章

  • DBMS中序列和非序列时间表的计算

    序列时间表和非序列时间表是DBMS中时间表的两种类型。序列时间表是按照时间的先后顺序进行排列的表格,可以通过时间戳或时间列进行排序。非序列时间表不具有时间先后的关系,可以按照任意顺序排列。以下是对这两种时间表的计算攻略的详细讲解: 计算序列时间表 1. 计算时间间隔 计算序列时间表的第一步是计算时间间隔。时间间隔表示相邻时间戳之间的时间差。常见的时间间隔单位…

    database 2023年3月27日
    00
  • Hadoop和MongoDB的区别

    Hadoop和MongoDB都是非关系型数据库。Hadoop是一个高可用性的分布式文件系统,支持大量数据的存储,以及数据的处理和管理。而MongoDB是一个面向文档存储的NoSQL数据库,具备稳定性,性能和可扩展性。下面着重从以下几个方面来讲解Hadoop和MongoDB的区别: 数据的存储 Hadoop存储数据使用的是Hadoop分布式文件系统(HDFS)…

    database 2023年3月27日
    00
  • Node.js 应用跑得更快 10 个技巧

    下面是关于“Node.js 应用跑得更快 10 个技巧”的完整攻略: 1. 使用 Node.js 版本管理器 使用 Node.js 版本管理器可以方便快速地在不同的环境下运行 Node.js 应用程序。常用的版本管理器有 nvm、n、nvs 等。它们都可以帮助你在不同的 Node.js 版本之间切换,并保证你的应用程序在不同的机器上运行一致。 示例: # 安…

    database 2023年5月22日
    00
  • MySQL datetime类型与时间、日期格式字符串大小比较的方法

    MySQL中的datetime类型和各种时间、日期格式字符串之间可以进行大小比较。本文将介绍如何比较datetime类型和时间、日期格式字符串之间的大小,并提供两个实际应用的示例进行说明。 datetime类型和时间、日期格式字符串的相互转换 MySQL提供了许多将datetime类型和时间、日期格式字符串进行相互转换的函数。这里主要介绍以下三个函数: DA…

    database 2023年5月22日
    00
  • mysql查询学生表里面成绩第2名的学生成绩

    如图:    多表关联写法:    

    MySQL 2023年4月13日
    00
  • MySQL 基于时间点的快速恢复方案

    MySQL 基于时间点的快速恢复方案 简介 在 MySQL 中,可以通过增量备份(InnoDB 引擎的 binlog)和全量备份(mysqldump)的方式来进行数据的备份。但是,如果要进行数据的恢复,可能会遇到很多问题,例如备份数据丢失、备份数据损坏、备份时间点不正确等。因此,基于时间点的快速恢复方案就是针对这些问题而提出的一种备份方案。 方案 基于时间点…

    database 2023年5月22日
    00
  • Python中经常使用的代码片段

    当在Python中进行编码时,有一些常见的代码片段是经常使用的。下面是一些常见的代码片段以及说明: 1. 处理列表 1.1. 在列表中查找元素 下面的代码段可以在一个列表中查找一个给定的元素,并返回它的下标(如果找到的话): if element in my_list: index = my_list.index(element) 其中 element 是你…

    database 2023年5月22日
    00
  • 网络安全及防御之SQL注入原理介绍

    网络安全及防御之SQL注入原理介绍 SQL注入的定义 SQL注入(SQL Injection)是一种利用SQL漏洞引发的网络安全漏洞攻击方式,通过在web表单或者URL参数注入恶意的SQL代码,进而实现攻击者执行任意操作的目的。 SQL注入的攻击原理 SQL注入的攻击原理是将SQL(Structured Query Language)指令插入到已有的SQL指…

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