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日

相关文章

  • demo项目开发(Python+flask+mysql+redis只包含后端接口)

    【demo项目开发需求】 用户信息管理,可以注册、登录、添加用户、删除用户 注册:任何用户可以注册,对用户提交的注册信息进行校验,返回对应的信息,其中:   用户名:必填,唯一   密码:必填,只能6-12位,入库是加盐加密   真实名:必填   性别:非必填,只能0(male)或者1(female)   电话:必填,唯一,满足电话要求,数字,且11位 登录…

    MySQL 2023年4月12日
    00
  • SQL 插入默认值

    当我们向数据库表中插入新记录时,有时候可能只想指定一些字段的具体值,而其它字段的值可以使用默认值。在SQL中,可以通过 INSERT INTO 语句中的 VALUES 关键字或者 INSERT INTO … SET 语句中的 DEFAULT 关键字来设置默认值。 下面,我将为大家提供详细的SQL插入默认值的攻略,包括两个实例。 表格结构 users 表格…

    database 2023年3月27日
    00
  • sql中的if和else使用及说明

    下面是关于SQL中if和else使用及说明的完整攻略。 什么是IF/ELSE语句? IF/ELSE语句是SQL中的条件控制流语句,可以用来在执行查询时基于特定的条件执行不同的语句块。 基于条件,这些语句块可以是:- 执行另一个SELECT语句或子查询- 返回单个值或一组结果- 更新或删除表中的数据 IF/ELSE使用的基本格式 语法: IF conditio…

    database 2023年5月21日
    00
  • 学习手册–Linux基础篇

    学习手册–Linux基础篇攻略 前言 Linux作为一个重要的开源操作系统,在服务器、移动设备、嵌入式系统等领域都有广泛的应用。Linux基础篇作为初学者入门的必修课程,了解和掌握Linux的基本概念和操作技能,对于日后的工作、学习都有很大的帮助。本攻略就是为初学者准备的,旨在帮助初学者快速掌握Linux的基本知识和技能。 步骤 1. 学习Linux基础概…

    database 2023年5月22日
    00
  • MySQL数据库设计概念及多表查询和事物操作

    MySQL数据库设计概念 MySQL是一种常用的开源关系型数据库管理系统。MySQL采用了客户端-服务器体系结构,支持多线程、事务、字符集、视图、存储过程等特性,支持多种操作系统,如Linux、Windows等。在使用MySQL进行数据库设计时,需要掌握一些基本概念。 数据库设计基本原则 在进行数据库设计时,需要采用以下基本原则: 单一职责原则:一个表只负责…

    database 2023年5月19日
    00
  • C++使用redis的实例详解

    C++使用redis的实例详解 什么是Redis? Redis是一个开源(BSD许可)的基于内存的数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis支持多种类型的数据结构,如字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)等,并支持像事务(transactions)、Pub/Sub(发布与订阅)和 Lua 脚…

    database 2023年5月22日
    00
  • 详解MySQL CROSS JOIN:交叉连接

    MySQL CROSS JOIN是一种关系型连接操作,它将两个表的所有组合关系作为结果返回。对于每个表中的每行,它将与另一个表中的每行进行匹配,并创建一个新的结果表,其中每行将包含两个表中的所有列的结果。 CROSS JOIN语法如下: SELECT * FROM table1 CROSS JOIN table2; 这将将表1中的每个行与表2中的每个行组合,…

    MySQL 2023年3月9日
    00
  • Spring事物的传播特性详解

    Spring 事务的传播特性详解 在开发中,我们常常需要对数据进行事务管理,保证多条SQL语句的原子性,不仅加强了应用程序的稳定性,而且能够提高并发性,减少资源的消耗。Spring事务是优秀的事务管理框架之一,其中最重要的概念就是事务的传播特性。 什么是事务的传播特性 传播特性是指事务的一个属性,当一个事务方法调用另一个事务方法时,称被调用的事务方法为 被嵌…

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