MySQL cluster 7 2集群部署配置

2021-06-29 01:48:53 字數 3518 閱讀 8731

本文主要介紹在centos

6.3系統上搭建mysql cluster

7.2.10

集群的方法。

mysql cluster主要有三種型別節點:

data node

,資料節點

將儲存資料庫,它會自動複製所有的資料節點

;daemon node

,守護節點相當於是sql資料庫和客戶端之間的介面,它提供從資料節點查詢等操作,類似於"閘道器";

management node

,管理節點

,用以監控和管理整個集群

。本文介紹使用2臺伺服器(100與101)部署最簡單的集群

方法:其中100上部署data node

,daemon node

及management node

;101上部署data node

,daemon node。

(2.1-2.3為所有節點均需執行的步驟,2.4和2.5為相關節點需執行的步驟)

,解壓移動至 /usr/local/mysql目錄下

wget

tar -zxv -f mysql-cluster-gpl-7.2.10-linux2.6-x86_64.tar.gz

mv mysql-cluster-gpl-7.2.10-linux2.6-x86_64 /usr/local/mysql

groupadd mysql

useradd mysql -g mysql

cd /usr/local

chown -r mysql:mysql mysql

cd mysql

scripts/mysql_install_db --user=mysql

#建立目錄

mkdir -p /var/lib/mysql-cluster

#修改配置檔案

vim /var/lib/mysql-cluster/config.ini

#config.ini內容如下

[ndbd default]

#noofreplicas表示資料份數,如果為1,會有資料節點單點故障

noofreplicas=2

datamemory=200m

indexmemory=30m

[ndb_mgmd]

id=1

hostname=192.168.85.100

datadir=/var/lib/mysql-cluster/

[ndbd]

id=2

hostname=192.168.85.101

datadir=/usr/local/mysql/data

[ndbd]

id=3

hostname=192.168.85.100

datadir=/usr/local/mysql/data

[mysqld]

id=4

hostname=192.168.85.100

[mysqld]

id=5

hostname=192.168.85.101

[mysqld]

id=6

#拷貝檔案,建立相關目錄

cp support-files/mysql.server /etc/init.d/mysqld

mkdir -p /var/mysql/data

mkdir -p /var/mysql/logs

# 修改配置檔案

vim /etc/my.cnf

#my.cnf內容如下:

[mysqld]

ndbcluster

datadir=/usr/local/mysql/data

basedir=/usr/local/mysql

socket=/tmp/mysql.sock

port=3307

ndb-connectstring=192.168.85.100

[mysql_cluster]

ndb-connectstring=192.168.85.100

啟動需要按照如下順序進行:management node > data node > sql node

/usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini

修改生效加 --initial

其他操作:

# 檢視是否有埠號為1186的監聽埠

netstat -lntpu

# 檢視集群狀態

/usr/local/mysql/bin/ndb_mgm -e show

# 管理節點檢驗

/usr/local/mysql/bin/ndb_mgm

# 管理節點關閉

/usr/local/mysql/bin/ndb_mgm -e shutdown

# 只是在第一次啟動或在備份/恢復或配置變化後重啟ndbd時,才加–initial引數!

/usr/local/mysql/bin/ndbd --initial

# 正常啟動方式

/usr/local/mysql/bin/ndbd

service mysqld start

# sql 節點關閉

service mysql stop

# 檢驗mysql是否執行

/etc/rc.d/init.d/mysqld status

# 為sql指定密碼

/usr/local/mysql/bin/mysqladmin -u root password 'new-password'

/usr/local/mysql/bin/mysqladmin -u root -h 'host' password 'new-password'

# 啟動命令列視窗

/usr/local/mysql/bin/mysql -u root –p

下面在伺服器上a上新建表並插入資料,在伺服器b上驗證mysql cluster是否將資料同步。

#進入sql監視器,注意後續的命令均已;或\g結尾

/usr/local/mysql/bin/mysql

#檢視資料庫

show databases;

#使用test庫

use test;

#檢視test庫,顯示為空

show test;

#建立person表

create table person(id int,name varchar(40),birthday date)engine=ndb;

#插入資料

insert into person values(1,'kate',19821212);

#檢視表中資料

select * from test.person;

#進入sql監視器

/usr/local/mysql/bin/mysql

#檢視表中資料,可以看到資料已經同步

select * from test.person;

同樣也可在伺服器b上執行insert/update/delete等操作,然後在伺服器a上驗證資料是否同步。

7 2 集合相似度

給定兩個整數集合,它們的相似度定義為 n c n t 100 其中n c 是兩個集合都有的不相等整數的個數,n t 是兩個集合一共有的不相等整數的個數。你的任務就是計算任意一對給定集合的相似度。輸入第一行給出乙個正整數n 50 是集合的個數。隨後n行,每行對應乙個集合。每個集合首先給出乙個正整數m ...

leetcode題集 72 編輯距離

題目大意 給定兩個字串,求解將 word1 轉化成 word2 的最小操作。操作有三個,替換,增加和刪除。題目分析 突然給定乙個這樣的題目,求解有效可能集合中的最優解。第一想法當然就想到了動態規劃,可是怎麼找狀態轉移方程呢?又應該選擇哪個狀態呢?一般能想到兩個,乙個是dp i j 表示長度為 i 的...

No 7 2 並查集演算法

暫時沒看懂,只做記錄,後續再究!一 求有幾個強盜同夥?現在有10個強盜 1與2是同夥 3與4是同夥 5與2是同夥 4與6是同夥 2與6是同夥 8與7是同夥 9與7是同夥 1與6是同夥 2與4是同夥 強盜同夥的同夥,也是同夥。請問共有幾個獨立的強盜同夥?解題思路 1.首先假設10個強盜各不相屬,用一維...