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

下面是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日

相关文章

  • Linux自动备份MySQL数据库脚本代码

    下面就是关于“Linux自动备份MySQL数据库脚本代码”的完整攻略: 环境准备 在开始编写脚本之前,需要确保以下环境已经安装: MySQL客户端:用于备份指定的MySQL数据库。 Shell脚本编写工具:例如vim或nano等。 编写Shell脚本 下面是一个简单的Shell脚本示例,用于备份MySQL数据库: #!/bin/bash # 定义备份路径和文…

    database 2023年5月22日
    00
  • Java的MyBatis框架中实现多表连接查询和查询结果分页

    当涉及多表连接查询和查询结果分页时,MyBatis是一个强大的框架,它不仅提供了基本的SQL查询功能,还提供了许多有用的功能,如动态SQL和结果集映射。下面将详细介绍如何在Java的MyBatis框架中实现多表连接查询和查询结果分页。 实现多表连接查询 多表连接是SQL查询中的一个常见需求,它需要在多个表中将数据连接在一起。在MyBatis中实现多表连接查询…

    database 2023年5月21日
    00
  • Mysql读写分离过期常用解决方案

    当一个网站的流量逐渐增加时,单个MySQL服务器可能不足以支撑数据库负载。在这种情况下,那么就需要将数据库的读和写分别分配到不同的服务器上。这就是所谓的MySQL读写分离。但是,一个常见的问题是,MySQL读写分离后数据同步问题,这可能会导致数据不一致。以下是两种常用的解决方案: 使用MySQL主从复制方式 这种解决方案是在主库上分配写操作,然后将数据复制到…

    database 2023年5月22日
    00
  • Redis 真得那么好用吗?

    不管你是从事Python、Java、Go、PHP、Ruby等等……Redis都应该是一个比较熟悉的中间件。而大部分经常写业务代码的程序员,实际工作中或许只用到了set value、GetValue两个操作,而对Redis缺乏一个整体的认识。今天就来对Redis的常见问题做一个总结。希望能够帮助到大家。   01、Redis是什么   Redis是一个…

    Redis 2023年4月12日
    00
  • oracle if else语句使用介绍

    当使用Oracle PL/SQL编写程序时,经常需要根据条件来判断并执行不同的代码块。可以使用if-else语句来实现这一点。本文将详细介绍Oracle if-else语句及其用法。 1. if-else语句 if-else语句在编程中经常用于根据判断条件执行不同的代码块。在Oracle中,语法如下: IF condition THEN — 如果condi…

    database 2023年5月21日
    00
  • Python连接数据库并批量插入包含日期记录的操作

    下面是Python连接数据库并批量插入包含日期记录的操作的完整攻略: 1. 连接数据库 Python连接数据库需要使用到相应的的库,比如MySQL数据库需要使用pymysql库。下面是一个连接MySQL数据库的样例代码: import pymysql #连接数据库 db = pymysql.connect(host = ‘localhost’, port =…

    database 2023年5月21日
    00
  • 网络层访问权限控制技术-ACL详解

    网络层访问权限控制技术-ACL详解 访问控制列表(Access Control Lists,简称 ACL)是网络安全中常用的一项技术。它通过访问控制表实现对网络流量的访问限制,从而保障网络安全。本篇文章将详细讲解ACL技术的基本原理、应用场景和配置过程。 基本原理 ACL技术是在网络层进行的,可以基于源地址、目的地址、协议类型、端口号等信息,来对网络数据进行…

    database 2023年5月22日
    00
  • 面试中老生常谈的MySQL问答集锦夯实基础

    下面是“面试中老生常谈的MySQL问答集锦夯实基础”的完整攻略。 1. 准备工作 在学习MySQL过程中,我们需要掌握以下知识点:- MySQL的基本语法和常用命令- MySQL的数据类型- MySQL的常见存储引擎- 数据库的设计理论和方法- MySQL的优化策略 在准备面试之前,我们应该对以上知识点进行逐一深入学习,可以通过看书、做练习、听课、实践等多种…

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