博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用 systemd 配置多个 MySQL 8.0 实例
阅读量:7206 次
发布时间:2019-06-29

本文共 1108 字,大约阅读时间需要 3 分钟。

注意:因为systemd能够在安装了systemd支持的平台上管理多个MySQL实例, 所以mysqld_multi和 mysqld_multi.server是不必要的,并且没有安装。

要使用多实例功能,请修改 my.cnf选项文件以包括每个实例的关键选项配置。这些文件位置是典型的:

在配置文件添加一下内容 /etc/my.cnf

[mysqld@01]datadir=/var/lib/mysql01socket=/var/lib/mysql01/mysql.sockport=3307mysqlx_port=33070log-error=/var/log/mysqld01.log[mysqld@02]datadir=/var/lib/mysql02socket=/var/lib/mysql02/mysql.sockport=3308mysqlx_port=33080log-error=/var/log/mysqld02.log

此处显示的副本名称@用作分隔符,因为这是systemd支持的唯一分隔符。

创建数据目录

mkdir /var/lib/mysql01mkdir /var/lib/mysql02chown mysql.mysql /var/lib/mysql01chown mysql.mysql /var/lib/mysql02

然后,实例由常规systemd命令管理,例如:

systemctl start mysqld@01systemctl start mysqld@02

要使实例能够在引导时运行,请执行以下操作:

systemctl enable mysqld@01systemctl enable mysqld@02

还支持使用通配符。例如,此命令显示所有副本实例的状态:

systemctl status 'mysqld@replica*'

为了管理同一台机器上的多个MySQL实例,systemd自动使用不同的单元文件:

mysqld@.service而不是 mysqld.service(RPM平台)

在单元文件,%I和 %i引用之后经过在参数@标记,并用于管理该特定的实例。对于这样的命令:

systemctl start mysqld@01

systemd使用如下命令启动服务器:

mysqld --defaults-group-suffix=@%I ...

其结果是,[server], [mysqld],和 [mysqld@01]选项组被读取并用于服务的该实例。

参考文档:

转载于:https://blog.51cto.com/linux10000/2295802

你可能感兴趣的文章
Python开发【第一篇】:目录
查看>>
《新闻发布》解析
查看>>
C++知识点
查看>>
FTP传输文件被破坏的问题(Linux、Busybox)
查看>>
242. Valid Anagram
查看>>
P1024 一元三次方程求解(二分答案)
查看>>
Collections库使用
查看>>
SQL Server开启READ_COMMITTED_SNAPSHOT
查看>>
Linux学习7之Shell基础--Bash的变量
查看>>
VirtualBox虚拟机增加CentOS根目录容量 LVM扩容
查看>>
Nginx 和 PHP 的两种部署方式比较
查看>>
纪录2b,和诡异,
查看>>
appendFormat
查看>>
centos下安装升级python到python3.5
查看>>
数据结构实验之排序二:交换排序
查看>>
【视频教程】Mini6410/Tiny6410的国嵌视频教程光盘,总共五张
查看>>
桶排序
查看>>
追MM与Java的23种设计模式[转]
查看>>
线程 2
查看>>
[C#][控件]文本类控件
查看>>