heartbeat v1 实现 MariaDB数据库的高可用
MariaDB数据库服务的高可用:使用heartbeatv1版实现两个节点的MariaDB数据库服务的高可用。节点:node1192.168.60.33node2192.168.60...
MariaDB数据库服务的高可用:
使用 heartbeat v1 版实现两个节点的 MariaDB数据库服务的高可用。
节点:
node1 192.168.60.33
node2 192.168.60.88
MySQL数据库的数据文件使用nfs共享文件系统解决
nfs Server 192.168.60.22
架构如下图:
一、heartbeat 节点之间通信要求的设置;
(1)、解决节点的主机名解析
因为 heartbeat 的节点间通讯基于名称。基于名称进行通讯就要实现域名解析:而名称解析有两种方法:
A、 基于本地hosts 文件实现主机名到IP地址的解析; B、 使用DNS域名服务器进行域名解析;基于效率等方面考虑,使用本地hosts 文件进行主名与IP地址的解析。
把 192.168.60.88 主机设置为HA高可用的节点2 node2.
设置基于本地hosts文件实现域名解析
[root@nfs admin]# echo "192.168.60.88 node2.9527du.com node2" > /etc/hosts [root@nfs admin]# echo "192.168.60.33 node1.9527du.com node2" >> /etc/hosts把配置好的hosts 文件复制一份到另一节点:
[root@nfs admin]# scp -p /etc/hosts root@192.168.60.33(2)、给HA高可用集群的各节点设置主机名
A)、设置192.168.60.88主机的主机名为:node2.9527du.com
[root@nfs admin]# vim /etc/sysconfig/network HOSTNAME=node2.9527du.com使用【hostname】命令设置主机名立即生效
[root@nfs admin]# hostname node2.9527du.com测试主机名能否解析成功
[root@nfs admin]# ping -c 1 node2.9527du.com PING node2.9527du.com (192.168.60.88) 56(84) bytes of data. 64 bytes from node2.9527du.com (192.168.60.88): icmp_seq=1 ttl=64 time=0.010 ms --- node2.9527du.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.010/0.010/0.010/0.000 msB)、设置192.168.60.33主机的主机名为:node1.9527du.com
[root@www admin]# vim /etc/sysconfig/network HOSTNAME=node2.9527du.com使用【hostname】命令设置主机名立即生效
[root@www admin]# hostname node1.9527du.com检测使用hosts文件是否能够解析主机名
[root@www admin]# ping -c 1 node2.9527du.com PING node2.9527du.com (192.168.60.88) 56(84) bytes of data. 64 bytes from node2.9527du.com (192.168.60.88): icmp_seq=1 ttl=64 time=0.010 ms --- node2.9527du.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.010/0.010/0.010/0.000 ms[root@node2 admin]# ping -c 1 node1.9527du.com PING node1.9527du.com (192.168.60.33) 56(84) bytes of data. 64 bytes from node1.9527du.com (192.168.60.33): icmp_seq=1 ttl=64 time=0.010 ms --- node1.9527du.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.010/0.010/0.010/0.000 ms说明:
从上面测试结果,已经两个节点都可以成功实现主机名的解析。
2、为了操作heartbeat 方便,把两节点配置成信任主机。不需要口令就可以直接通信。
(1)、建立基于密钥通讯
在node1节点生成密钥对
[root@node1 ha.d]# ssh-keygen -t rsa把“公钥”拷贝到 node2 节点
[root@node1 ha.d]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.60.33在 node2 节点生成密钥对
[root@node2 ~]# ssh-keygen -t rsa把“公钥”拷贝到 node1 节点
[root@node2 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.60.88(2)、测试基于密钥是否能够实现无障碍通讯
[root@node1 ha.d]# ssh node2 -- 'hostname' node2.9527du.com [root@node2 ~]# ssh node1 'hostname' node1.9527.com说明:
从上述测试结果,两节点已经能够实现基于密钥实现通讯。
二、配置 node1 和 node2 节点的mysql用户都有 nfs 共享文件系统的:rwx 权限
使用nfs服务器共享MySQL的数据文件,用户向MySQL数据库服务器,发起SQL操作时,MySQL数据库服务器以mysql用户的身份执行用户对数据库的操作的。
所以,mysql用户一定要有 nfs 服务器导出的共享文件系统的:"读/写“ 权限。
而根据 nfs 的资源访问控制模型:
(1)、在nfs服务器导出的文件系统中要有读写权限。意思是说:nfs设置导出共享文件系统时,要授权客户端有:读写权限。 (2)、往nfs共享文件系统中读写数据的用户映射到nfs服务器的本地文件系统一定要有读写权限。只要满足上述两个条件,mysql用户才可以往nfs共享文件系统中读写数据的。
所以,基于上述要求和mysql初始化数据库时一定要使用mysql用户等方面的考虑。在HA高可用的每个节点都创建一样的用户:
用户: mysql UID: 388 属于那个组: 388这样就保证了:两个节点的 mysqld 都可以使用同一份数据文件。
说明:
把mysql 创建为系统用户,且登记shell 为: /sbin/nologin 这样,即使某人获得了mysql的密码也没法登陆我们的系统的。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

MariaDB是一種開源的關聯式資料庫管理系統,它是MySQL的一個分支。 PHP作為一種開源的伺服器端腳本語言,被廣泛應用於Web開發。在許多Web開發專案中,需要使用PHP連接到MariaDB資料庫,以便在Web應用程式中儲存和檢索資料。這篇文章將介紹如何使用PHP編寫程式碼來連接MariaDB資料庫。一、安裝MariaDB伺服器在使用PHP連接Maria

如何使用PDO連接到MariaDB資料庫一、簡介PDO(PHPDataObjects)是PHP中用來存取資料庫的一個輕量級的抽象層。它為開發者提供了一組統一的介面來連接和操作不同類型的資料庫,包括MariaDB、MySQL、SQLite等。本文將介紹如何使用PDO來連接到MariaDB資料庫,並給出範例程式碼。二、安裝和設定在使用PDO連接到MariaDB

這篇文章為大家帶來了關於MariaDB和MySQL的相關知識,其中主要跟大家聊一聊MariaDB與MySQL的差別都有哪些,有興趣的朋友下面一起來看一下吧,希望對大家有幫助。

DockerCompose、Nginx和MariaDB的最佳實踐:部署PHP應用程式的監控與最佳化引言:在現代應用程式開發中,容器化已經成為一種流行的方式,能夠幫助我們更好地管理和部署應用程式。而DockerCompose則是用來定義和運行多個容器的工具,它能夠簡化應用程式的部署和管理流程。本文將介紹如何使用DockerCompose結合Nginx和

MariaDB是一個開源多執行緒的關聯式資料庫管理系統,是MySQL的替代品。 MariaDB是Debian中MySQL的預設替換方案。本教學介紹如何在Debian12上安裝MariaDB。準備條件1、一台安裝了Debian12的VPS虛擬機(推薦您購買一台阿里雲VPS或騰訊雲VPS虛擬主機,如果你更喜歡國外伺服器,推薦你嘗試Vultr上的VPS,註冊即送$50美元體驗,性價比非常高),當然你自己電腦或虛擬機器中也可以。 2.如果使用VPS,基於安全考慮,建議使用非root帳號,可以在Debian12

使用DockerCompose、Nginx和MariaDB優化PHP應用程式的網路效能簡介:在當今網路時代,網路效能對於Web應用程式的穩定性和回應速度至關重要。為了提高PHP應用程式的網路效能,我們可以使用容器化技術DockerCompose、高效率的Web伺服器Nginx和穩定的資料庫MariaDB。本文將詳細介紹如何使用這些工具來最佳化PHP應用的網

DockerCompose、Nginx和MariaDB的完美組合:部署PHP應用程式的最佳實踐引言:在現代Web應用程式開發中,使用容器化技術已經成為了一種趨勢。容器化技術可以將應用程式及其相依性打包成一個單獨的容器,使得應用程式可以在任何支援容器化技術的環境中運作。而Docker是當下最受歡迎的一種容器化技術,它可以簡化應用程式的部署、管理和擴展。對於使用

使用DockerCompose、Nginx和MariaDB優化PHP應用程式的效能問題在開發和部署PHP應用程式時,經常會遇到效能問題。為了解決這些問題,我們可以利用DockerCompose、Nginx和MariaDB來優化應用程式的效能。 DockerCompose是一個用來定義和管理多個Docker容器的工具。它可以幫助我們輕鬆地創建和運行多個容器
