我已经设置了一个 Mariadb Maxscale(1 个主节点和 2 个副本节点)复制集群用于实验目的。据我了解,使用 Maxscale 的主要目的是它决定要查询的服务器。因此,我不确定如何将我的 DBI 查询定向到 Maxscale 而不是特定服务器。
我通常使用Perl DBI通过以下方式连接数据库;
my $dbh = DBI->connect("DBI:mysql:database=$db_name};$server",$user,$passwd);
有人可以告诉我如何使用 Maxscale 做到这一点吗?
MaxScale 只是一个代理,因此您应该能够像连接到 MariaDB 时通常所做的那样进行连接:
my $dsn = "DBI:mysql:database=$database;host=$max_scale_host;port=$max_scale_port";
my $dbh = DBI->connect($dsn, $user, $password);
您只需确保您的 DBI 瞄准 MaxScale 主机和端口。