mysql怎么多人联机 mysql怎么共享( 二 )


在“加莱拉同步配置”部分定义集群如何通信和同步成员之间的数据 。这仅用于在节点联机时发生的状态传输 。对于我们的初始设置,我们使用的是rsync,因为它是常用的和做什么,我们需要现在 。
在“加莱拉节点配置”部分明确了IP地址和当前服务器的名称 。这在尝试诊断日志中的问题以及以多种方式引用每个服务器时很有用 。该wsrep_node_address必须你在机器的地址相匹配,但你可以选择你,以帮助您识别在日志文件中的节点想要的任何名称 。
当您对群集配置文件满意后,将内容复制到剪贴板中 , 保存并关闭文件 。
接下来,/etc/mysql/my.cnf设置绑定地址为127.0.0.1 。这必须按顺序注释掉为我们在我们的galera.cnf`文件中正确设置它..
sudo nano /etc/mysql/my.cnf
/etc/mysql/my.cnf
. . .
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address= 127.0.0.1
. . .
现在第一个服务器已配置 , 我们将继续到下两个节点 。
第4步 – 配置剩余节点
在每个其余节点上,打开配置文件:
sudo nano /etc/mysql/conf.d/galera.cnf
粘贴到从第一个节点复制的配置中,然后更新“Galera节点配置”以使用您设置的特定节点的IP地址或可解析域名 。最后,更新其名称,您可以将其设置为任何帮助您标识日志文件中的节点:
/etc/mysql/conf.d/galera.cnf
. . .
# Galera Node Configuration
wsrep_node_address="this_node_ip"
wsrep_node_name="this_node_name"
. . .
保存并退出每个服务器上的文件 。我们需要注释掉这两个服务器上的绑定地址 。
sudo nano /etc/mysql/my.cnf
/etc/mysql/my.cnf
. . .
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address= 127.0.0.1
. . .
我们几乎准备好启动集群,但在我们做之前,我们将确保相应的端口已打开 。
第5步 – 在每个服务器上打开防火墙
在每个服务器上 , 让我们检查防火墙的状态:
sudo ufw status
在这种情况下,只允许SSH通过:
OutputStatus: active
您可能有其他规则或没有防火墙规则 。由于在这种情况下只允许ssh流量 , 我们需要为MySQL和Galera流量添加规则 。
Galera可以使用四个端口:
3306对于使用mysqldump方法的MySQL客户端连接和状态快照传输 。
4567对于Galera群集复制流量,组播复制在此端口上同时使用UDP传输和TCP 。
4568用于增量状态传输 。
4444用于所有其他状态快照传输 。
在我们的示例中 , 当我们进行设置时,我们将打开所有四个端口 。一旦我们确认复制正常,我们就要关闭我们实际上没有使用的任何端口,并将流量限制在集群中的服务器 。
使用以下命令打开端口:
sudo ufw allow 3306,4567,4568,4444/tcp
sudo ufw allow 4567/udp
注:根据还有什么是你的服务器上运行,你可能想限制访问的时候了 。
第6步 – 启动集群
首先,我们需要停止正在运行的MySQL服务 , 以便我们的集群可以联机 。
在所有三个服务器上停止MySQL:
在所有三个服务器上使用以下命令停止mysql,以便我们可以在集群中将它们备份:
sudo systemctl stop mysql
systemctl不显示所有服务管理命令的结果,所以要确保我们成功了,我们将使用下面的命令:
sudo systemctl status mysql
如果最后一行看起来像下面这样,命令成功 。
Output. . .
Sep 02 22:17:56 galera-02 systemd[1]: Stopped LSB: start and stop MySQL.

推荐阅读