我正在沿着多台服务器设置 MariaDB Galera 集群,以便它们可以访问同步数据。然而,其中一台服务器托管着一个独立的 WordPress 网站,该网站需要自己的数据库,该数据库不应成为集群的一部分。
所有服务器都运行 Ubuntu(20.04 或 22.04)和 MariaDB 10.6。
如何在同一台服务器上分离集群数据库和独立数据库? MariaDB 可以在其设置中处理这个问题,还是应该有另一个实例在运行(以及如何?)
有一个 systemd 模板化服务,可以独立于 Galera 实例运行。
默认情况下,模板化(多实例)服务将使用
mariadbd
执行 --defaults-group-suffix=.%I
。
这意味着在您的配置文件(
/etc/mysql/mariadb.conf.d/wordpress.cnf
)中需要有这样的部分:
[client-server.wordpress]
socket=/var/lib/mariadb.wordpress/mariadb.socket
port=3309
[mariadb.wordpress]
datadir=/var/lib/mariadb.wordpress
tmpdir=/tmp/mariadb.wordpress
/etc/tmpfiles.d/mariadb.wordpress
d /tmp/mariadb.wordpress 1755 mysql mysql
这只是为了100%的临时文件隔离。
.wordpress
部分适用于wordpress实例,不会被Galera实例读取。
安装数据目录:
mkdir -p /var/lib/mariadb.wordpress
chown mysql: /var/lib/mariadb.wordpress
sudo -u mysql mariadb-install-db --datadir=/var/lib/mariadb.wordpress
然后启用并启动服务:
systemctl enable [email protected]
systemctl start [email protected]
参考:MariaDB KB systemd,或查看
/lib/systemd/system/[email protected]
文件内部。