mysql分佈式集羣安裝

概述

MySQL Cluster旨在提供具備高可用性和低延遲的MySQL兼容數據庫。 MySQL Cluster技術經過NDB(網絡數據庫)和NDBCLUSTER存儲引擎實現,併爲MySQL數據庫系統提供無共享羣集和自動分片。 在無共享架構中,每一個節點都有本身的內存和磁盤,不建議和支持使用NFS,SAN等共享存儲。node

要實現MySQL Cluster,咱們必須安裝三種類型的節點。 每一個節點類型將安裝在它本身的服務器上。mysql

1.管理節點 - NDB_MGMD / MGMlinux

     羣集管理服務器用於管理羣集的其餘節點。 咱們能夠從管理節點建立和配置羣集上的新節點,從新啓動,刪除或備份節點。sql

 

2.數據節點 - NDBD / NDB數據庫

     這是在節點之間進行同步和數據複製的過程的層。服務器

 

3. SQL節點 - MySQLD / API網絡

     應用程序用於鏈接到數據庫集羣的接口服務器。架構

 

在本教程中,我將指導您完成使用centOS 7安裝和配置MySQL羣集。咱們將配置管理節點,兩個數據節點和兩個SQL節點。dom

 

準備

操做系統是CentOS 7 - 64位。ssh

5臺CentOS服務器或虛擬機。 我將使用主機名和IP地址,以下所示:

管理節點

db1 = 192.168.1.107

數據節點

db2 = 192.168.1.111

db3 = 192.168.1.109

SQL節點

db4 = 192.168.1.110
 db5 = 192.168.1.112

 

簡單起見全部服務直接禁用防火牆

systemctl disable firewalld

systemctl stop firewalld

而且禁用selinux

 

vi /etc/selinux/config

    # This file controls the state of SELinux on the system.

    # SELINUX= can take one of these three values:

    #       enforcing - SELinux security policy is enforced.

    #       permissive - SELinux prints warnings instead of enforcing.

    #       disabled - No SELinux policy is loaded.

    SELINUX=disabled

    # SELINUXTYPE= can take one of these two values:

    #       targeted - Targeted processes are protected,

    #       mls - Multi Level Security protection.

    SELINUXTYPE=targeted

 

 

設置管理節點

第一步是使用CentOS 7 db1和IP 192.168.1. 107建立「管理節點」。 確保以root用戶身份登陸db1服務器。

 

下載MySQL Cluster軟件

我將使用wgetMySQL站點下載它。 我在這裏使用的是「Red Hat Enterprise Linux 7 / Oracle Linux 7x86,64位),RPM Bundle」,它與CentOS 7兼容。而後解壓縮tar文件。

我將使用wgetMySQL站點下載它。 我在這裏使用的是「Red Hat Enterprise Linux 7 / Oracle Linux 7x86,64位),RPM Bundle」,它與CentOS 7兼容。而後解壓縮tar文件。

cd~ 
 wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar 
 tar -xvf MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar

 

 

安裝和刪除軟件包

在安裝MySQL Clusterrpm包以前,須要安裝MySQL-Cluster服務器所需的perl-Data-Dumper  在咱們安裝MySQL Cluster以前你須要刪除mariadb-libs 

yum -y install perl-Data-Dumper
 yum -y remove mariadb-libs

安裝MySQL Cluster

使用如下rpm命令安裝MySQL Cluster軟件包:

cd~ 
 yum localinstall MySQL-Cluster-client-gpl-7.4.10-1.el7.x86_64.rpm  MySQL-Cluster-server-gpl-7.4.10-1.el7.x86_64.rpm  MySQL-Cluster-shared-gpl-7.4.10-1.el7.x86_64.rpm -y

確保沒有錯誤。又可能須要安裝net-tools

Yum install net-tools -y

配置MySQL羣集

 

爲配置文件建立新目錄。 我將使用「/var/lib/mysql-cluster」目錄。

mkdir -p /var/lib/mysql-cluster

而後在mysql-cluster目錄中爲名爲「 config.ini 」的集羣管理建立新的配置文件。

cd /var/lib/mysql-cluster
 vi config.ini

粘貼如下配置:

[ndb_mgmd default]
 # Directory for MGM node log files
 DataDir=/var/lib/mysql-cluster
  
 [ndb_mgmd]
 #Management Node db1
 HostName=192.168.1.107
  
 [ndbd default]
 NoOfReplicas=2      # Number of replicas
 DataMemory=256M     # Memory allocate for data storage
 IndexMemory=128M    # Memory allocate for index storage
 #Directory for Data Node
 DataDir=/var/lib/mysql-cluster
  
 [ndbd]
 # db2
 HostName=192.168.1.111
  
 [ndbd]
 # db3
 HostName=192.168.1.109
  
 [mysqld]
 #SQL Node db4
 HostName=192.168.1.115
  
 [mysqld]
 #SQL Node db5
 HostName=192.168.1.112

保存文件並退出。

 

啓動管理節點

接下來使用如下命令啓動管理節點:


 ndb_mgmd --config-file=/var/lib/mysql-cluster/config.ini

結果應該相似於:

MySQL Cluster Management Server mysql-5.6.28 ndb-7.4.10

2018-08-16 03:00:47 [MgmtSrvr] INFO     -- The default config directory '/usr/mysql-cluster' does not exist. Trying to create it...

2018-08-16 03:00:47 [MgmtSrvr] INFO     -- Sucessfully created config directory

 

管理節點已啓動,如今您能夠使用命令ndb_mgm來監視節點:

 

ndb_mgm
 show

 

設置MySQL羣集數據節點

咱們將使用2CentOS服務器做爲數據節點。

  1. db2 = 192.168.1.111

  2. db3 = 192.168.1.109

 

 

root用戶身份登陸並下載MySQL Cluster軟件

使用ssh登陸到db2服務器:

而後下載MySQL Cluster包並解壓縮:

cd ~
 wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar
 tar -xvf MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar

安裝和刪除軟件包

安裝perl-Data-Dumper並刪除mariadb-libs:

yum -y install perl-Data-Dumper
 yum -y remove mariadb-libs

.安裝MySQL Cluster

如今咱們能夠使用這些rpm命令爲數據節點安裝MySQL Cluster包:

cd~ 
 yum localinstall MySQL-Cluster-client-gpl-7.4.10-1.el7.x86_64.rpm  MySQL-Cluster-server-gpl-7.4.10-1.el7.x86_64.rpm  MySQL-Cluster-shared-gpl-7.4.10-1.el7.x86_64.rpm -y

確保沒有錯誤。

配置數據節點

使用vi編輯器在/ etc目錄中建立一個新配置文件:


 vi /etc/my.cnf

粘貼配置以下:

[mysqld]
 ndbcluster
 ndb-connectstring=192.168.1.107     # IP address of Management Node
  
 [mysql_cluster]
 ndb-connectstring=192.168.1.107     # IP address of Management Node

保存文件並退出。

而後爲咱們在管理節點配置文件「config.ini」中定義的數據庫數據建立新目錄。

 mkdir -p /var/lib/mysql-cluster

如今啓動數據節點/ ndbd:

ndbd

DB3如法炮製

操做完回管理節點確認一下

 

設置SQL節點

此步驟包含SQL節點的設置,該節點提供對數據庫的應用程序訪問。 咱們爲SQL節點使用2CentOS服務器:

db4 = 192.168.1.115

db5 = 192.168.1.112

 

而後下載MySQL Cluster包並解壓縮:

cd ~
 wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar
 tar -xvf MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar

安裝和刪除軟件包

安裝perl-Data-Dumper並刪除mariadb-libs:

yum -y install perl-Data-Dumper
 yum -y remove mariadb-libs

.安裝MySQL Cluster

如今咱們能夠使用這些rpm命令爲數據節點安裝MySQL Cluster包:

cd~ 
 yum localinstall MySQL-Cluster-client-gpl-7.4.10-1.el7.x86_64.rpm  MySQL-Cluster-server-gpl-7.4.10-1.el7.x86_64.rpm  MySQL-Cluster-shared-gpl-7.4.10-1.el7.x86_64.rpm -y

確保沒有錯誤。

配置SQL節點

/ etc目錄中建立一個新的my.cnf文件:

 

vi /etc/my.cnf

並在下面粘貼配置:

[mysqld]
 ndbcluster
 ndb-connectstring=192.168.1.107       # IP address for server management node
 default_storage_engine=ndbcluster     # Define default Storage Engine used by MySQL
  
 [mysql_cluster]
 ndb-connectstring=192.168.1.107       # IP address for server management node

保存文件並退出編輯器。這裏簡單粗暴直接跳過驗證。

經過啓動MySQL服務器啓動SQL節點:

從新初始化數據庫

cat .mysql_secret

# The random password set for the root user at Thu Aug 16 20:48:32 2018 (local time): 9ybWrUm68Vx00JY6

 

最後的數字就是root的密碼

 

mysql_secure_installation 命令按照提示初始化數據庫

 

若是是偷懶的同窗能夠直接mysqld中加入skip-grant-tables直接跳過用戶驗證

service mysql start

驗證

在全部節點上操做完成以後,能夠使用

ndb_mgm -e show 來檢查

全部的節點都鏈接完畢

這個時候鏈接到

192.168.1.112數據庫建立數據,建立表,添加數據。

在192.168.1.115上就能夠直接看到這些數據了,反過來操做也是同樣。

相關文章
相關標籤/搜索