侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130555 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

使用 systemd 配置多个 MySQL 8.0 实例

2024-05-16 星期四 / 0 评论 / 0 点赞 / 50 阅读 / 1992 字

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

注意:因为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自动使用不同的单元文件:
[email protected]而不是 mysqld.service(RPM平台)

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

systemctl start mysqld@01

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

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

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

参考文档:使用systemd管理MySQL服务器

广告 广告

评论区