首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在almalinux上配置mysqld的多个实例

在almalinux上配置mysqld的多个实例
EN

Stack Overflow用户
提问于 2022-03-31 21:11:30
回答 1查看 112关注 0票数 0

我一直试图在almalinux盒上设置多个mysqld实例。我无法让systemctl start mysqld@replica03语句识别/etc/my.cnf文件中的相关选项设置。

如果我将[mysqld@replica03][mysqld@replica04]更改为[mysqld],它可以工作,并使用适当的datadir和端口。当我在[mysqld@replica03]文件中使用[mysqld@replica04][mysqld@replica04]时,它就会使用默认的/var/lib/msyql数据中心和选项,而不是我指定的

我已经跑了

代码语言:javascript
复制
systemctl enable mysqld@replica03
systemctl enable mysqld@replica04

任何想法都将不胜感激。

/etc/my.cnf档案:

代码语言:javascript
复制
[client-server]

[mysqld@replica03]
server_id=3
port=3306
datadir=/var/lib/mysql_replica03
socket=/var/lib/mysql_replica03/mysql.sock
log-error=/var/log/mysql_replica03/mysqld.log
pid-file=/var/run/mysqld_replica03/mysqld.pid

[mysqld@replica04]
server_id=4
port=3307
datadir=/var/lib/mysql_replica04
socket=/var/lib/mysql_replica04/mysql.sock
log-error=/var/log/mysql_replica04/mysqld.log
pid-file=/var/run/mysqld_replica04/mysqld.pid
EN

回答 1

Stack Overflow用户

发布于 2022-05-19 14:19:18

当您需要多个实例,并且使用systemd来实现它时,服务器选项组配置是可行的。

你对你的问题所作的评论表明,所使用的后缀以一个圆点作为前缀。

ExecStart=/usr/libexec/mysqld --defaults-group-suffix=.%I

因此,服务器组应该重写到

代码语言:javascript
复制
[mysqld.replica03]
server_id=3
port=3306
datadir=/var/lib/mysql_replica03
socket=/var/lib/mysql_replica03/mysql.sock
log-error=/var/log/mysql_replica03/mysqld.log
pid-file=/var/run/mysqld_replica03/mysqld.pid

[mysqld.replica04]
server_id=4
port=3307
datadir=/var/lib/mysql_replica04
socket=/var/lib/mysql_replica04/mysql.sock
log-error=/var/log/mysql_replica04/mysqld.log
pid-file=/var/run/mysqld_replica04/mysqld.pid

另一个重要的注意事项是配置文件中的顺序很重要。这些replica服务器定义需要在主[mysql]部分之后进行解析。

my_print_defaults将帮助您完成以下工作:

代码语言:javascript
复制
$ my_print_defaults --defaults-group-suffix=.another mysqld
--datadir=/var/lib/mysql
--socket=/var/lib/mysql/mysql.sock
--log-error=/var/log/mariadb/mariadb.log
--pid-file=/run/mariadb/mariadb.pid
--datadir=/db/another/mysql
--socket=/db/another/mysql/mysql.sock
--log-error=/db/another/log/mariadb/mariadb.log
--pid-file=/run/mariadb/mariadb-another.pid
$ 

如果您的操作系统有一个/etc/my.cnf.d/目录,就像我的一样,您需要对文件名进行排序,以满足这一要求。

由于我使用的是mariadb,而且我有一个/etc/my.cnf.d/mariadb-server.cnf,所以我的another服务器组位于一个名为zz-another.cnf的文件上,确保它将在mariadb-server.cnf之后被解析。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71699182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档