日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL Cluster7.2.4 集群配置

發布時間:2023/12/18 数据库 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL Cluster7.2.4 集群配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

準備 32位和64位版本 ?3臺服務器?

202.38.128.153 dbs2 64位

202.122.32.68?dbs1 64位

192.168.32.22 erpdbtest 32位

管理節點(ndb_mgmd) 192.168.32.22 erpdbtest 32位

數據節點(ndbd) ?? 202.122.32.68 dbs1 64位? ?202.38.128.153 dbs2 64位

SQL節點(mysqld)?202.122.32.68 ?dbs1 64位 ?202.38.128.153 dbs2 64位

wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.2/mysql-cluster-gpl-7.2.4-linux2.6-i686.tar.gz/from/http://gd.tuwien.ac.at/db/mysql/

?

卸載Mysql?

rpm –qa | grep SQL

rpm –e mysql...

刪除/etc/my.cnf?? /var/lib/mysql

關閉防火墻
Iptables是一個包含在絕大多數Linux發行版中的防火墻。在默認安裝的RHEL中,防火墻是打開的,且隨機啟動,如果要關閉防火墻,可以使用以下命令:
service iptables stop
以上命令執行完畢之后效果只能保持到下次重啟。重啟后的配置就還原了,如果希望能夠在重啟之后還能夠保持防火墻的關閉狀態,可以使用以下命令:
chkconfig –level 35 iptables off
關閉SELinux
SELinux的全稱是Security-EnhancedLinux,是由美國國家安全局NSA開發的訪問控制體制。SELinux可以最大限度地保證Linux系統的安全。
在默認安裝的Linux系統中,SELinux默認是開啟的,配置文件是/etc/selinux/config,一般測試過程中使用“permissive”模式,這樣僅會在違反SELinux規則時發出警告,然后修改規則,最后由用戶覺得是否執行嚴格“enforcing”的策略,禁止違反規則策略的行為。規則決定SELinux的工作行為和方式,策略決定具體的安全細節如文件系統,文件一致性。在安裝過程中,可以選擇“激活”、“警告”或者“關閉”SELinux。默認設置為“激活”。
為了避免SELinux影響到群集功能,需要關閉SELinux系統的功能

1、??? 安裝管理節點(192.168.32.22)?
解壓文件?

tar -zvxf mysql-cluster-gpl-7.2.4-linux2.6-i686.tar.gz

創建安裝目錄?
mkdir -p /usr/local/mysql/bin?
mkdir -p /usr/local/mysql/ndbdata?
添加執行文件路徑?
vi ~/.bash_profile?
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin?
拷貝執行文件?

cd mysql-cluster-gpl-7.2.4-linux2.6-i686
cp bin/ndb_mgmd /usr/local/mysql/bin
cp bin/ndb_mgm /usr/local/mysql/bin

創建日志文件存儲目錄?
mkdir /var/lib/mysql-cluster?
創建配置文件目錄及文件?
mkdir /usr/local/mysql/cluster-conf?
vi /usr/local/mysql/cluster-conf/config.ini?
編輯配置文件:?
########################以下為配置文件內容#################?

[ndbd default]
NoOfReplicas=2 #復制成員個數
DataMemory=80M #數據存儲可以分配的內存
IndexMemory=18M #索引存儲可以分配的內存?
[ndb_mgmd] #定義管理節點的IP地址或主機名
id=1
hostname=192.168.32.22
DataDir=/var/lib/mysql-cluster?
[ndbd] ?#定義數據節點
id=11
HostName=202.122.32.68
DataDir=/usr/local/mysql/ndbdata
[ndbd]
id=12
HostName=202.38.128.153
DataDir=/usr/local/mysql/ndbdata?
[mysqld]#定義SQL節點 id=21
HostName=202.122.32.68
[mysqld]
id=22
HostName=202.38.128.153

[mysqld]
id=23

########################以上為配置文件內容#################

2、??? 安裝數據節點 (?202.122.32.68 dbs1 ?202.38.128.153 dbs2?)

解壓文件

?tar -zxvf mysql-cluster-gpl-7.2.4-linux2.6-x86_64.tar.gz?

創建安裝目錄

mkdir -p /usr/local/mysql/bin

mkdir -p /usr/local/mysql/ndbdata

拷貝執行文件

cp?mysql-cluster-gpl-7.2.4-linux2.6-x86_64/bin/ndbd /usr/local/mysql/bin

添加執行文件路徑

vi ~/.bash_profile

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

創建配置文件:

vi /etc/my.cnf

分別在主機添加如下內容:

[mysql_cluster] #配置數據節點連接管理節點
ndb-connectstring=192.168.32.22

3、安裝SQL節點(202.122.32.68 dbs1 ?202.38.128.153 dbs2):

解壓文件

?tar -zxvf mysql-cluster-gpl-7.2.4-linux2.6-x86_64.tar.gz?

拷貝安裝文件

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

添加mysql用戶

groupadd mysql

useradd -g mysql mysql

添加權限

chown -R mysql:mysql /usr/local/mysql

拷貝配置文件

cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf

初始化數據庫

cd /usr/local/mysql

scripts/mysql_install_db --user=mysql

拷貝守護進程所需文件

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

配置守護進程

chkconfig –add mysqld

chkconfig –level 35 mysqld on

添加執行文件路徑

vi ~/.bash_profile

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

更改配置文件

vi /etc/my.cnf

分別編輯如下信息:

[mysqld] #配置SQL節點與管理節點連接
port = 3306
socket = /tmp/mysql.sock
ndbcluster
ndb-connectstring=192.168.32.22

4、啟動及關閉mysql cluster

啟動順序:管理服務器->存儲節點->SQL節點

a、啟動管理節點

rm mysql/mysql-cluster/ndb_1_config.bin.1 #不是必須的,如果config.ini有改動則要加上

ndb_mgmd -f /usr/local/mysql/cluster-conf/config.ini

b、啟動存儲節點

ndbd –initial #(第一次啟動必須添加選項,另外備份/恢復,修改配置文件也需要執行)

ndbd??? #不是第一次啟動需要執行的命令

c、啟動SQL節點

/etc/rc.d/init.d/mysqld start 或service mysqld start

啟動后可以用mysql -uroot -p 驗證mysql服務狀態

關閉順序:SQL節點->管理節點

a、關閉SQL節點

/etc/rc.d/init.d/mysqld stop 或service mysqld stop

b、關閉管理節點

ndb_mgm〉 shutdown

?

5、驗證配置的正確性
要先啟動管理節點 再啟動數據節點 等啟動完后 再起sql節點 否則會出錯
1、在管理節點執行:ndb_mgm -> show

ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=11 @202.122.32.68 (mysql-5.5.19 ndb-7.2.4, Nodegroup: 0, Master) 啟動完
id=12 @202.38.128.153 (mysql-5.5.19 ndb-7.2.4, starting, Nodegroup: 0) 正在起

[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.32.22 (mysql-5.5.19 ndb-7.2.4)

[mysqld(API)] 3 node(s)
id=21 @202.122.32.68 (mysql-5.5.19 ndb-7.2.4)
id=22 @202.38.128.153 (mysql-5.5.19 ndb-7.2.4)
id=23 (not connected, accepting connect from any host)

正常狀態

ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=11 @202.122.32.68 (mysql-5.5.19 ndb-7.2.4, Nodegroup: 0, Master)
id=12 @202.38.128.153 (mysql-5.5.19 ndb-7.2.4, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.32.22 (mysql-5.5.19 ndb-7.2.4)

[mysqld(API)] 3 node(s)
id=21 @202.122.32.68 (mysql-5.5.19 ndb-7.2.4)
id=22 @202.38.128.153 (mysql-5.5.19 ndb-7.2.4)
id=23 (not connected, accepting connect from any host)

2、在其中一個SQL節點創建數據庫,添加數據。要等啟動完再操作。

mysql -uroot -p
create database ndbtest;
use ndbtest;
CREATE TABLE `t1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=ndbcluster DEFAULT CHARSET=gbk;

NDB: Could not acquire global schema lock (266)Time-out in NDB, ?

啟動完成前 如果在一個節點執行添加數據庫的操作,不能同步到其他節點。

3、在另一個SQL節點,如果能夠存在添加的數據庫和數據,則說明配置成功

進入sql節點,在test數據庫創建表

CREATE TABLE `t1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=ndbcluster DEFAULT CHARSET=gbk

切換到2臺數據節點服務器~/mysql/data/ndb_2_fs~/mysql/data/ndb_3_fs看看,

或者直接去數據庫查,數據已經同步了!

?關閉集群服務

關閉sql節點等同于停止mysql服務,此時外界數據不將再進來。然后關閉管理節點

~/mysql/bin/ndb_mgm -e shutdown
rm ~/mysql/mysql-cluster/ndb_1_config.bin.1 #不是必須的,如果config.ini有改動則要加上

這樣操作后,管理節點和數據節點都將停止服務

Notes:

1:如果發現關閉一臺機器的ndbd進程,另一臺機器的ndbd的進程也關閉,則需要修改參數NoOfReplicas。
2:./ndbd --initial 不能同時在所有數據節點機器上執行,如執行,會刪除所有數據
3:可以像操作非簇類型的數據庫那樣,操作mysqld節點
4:每次修改config.ini文件,重啟ndb_mgmd時,需要刪除mysql-cluster文件下的ndb_1_config.bin.1文件,
因為他默認調用此文件
5:NDB 簇不支持自動發現數據庫的功能,這點很重要,一旦在一個數據節點上創建了世界(world)數據庫和它的表,在簇中的每個SQL節點上還需要發出命令 CREATE DATABASE world,后跟FLUSH TABLES。這樣,節點就能識別數據庫并讀取其表定義。(在本版本MySQL Cluster 7.1.5下數據庫也會自動同步的)
6:如果在相關節點服務器啟動時,注意查看~/mysql/mysql-cluster目錄內的相關日志文件以獲取錯誤信息.
7:在管理節點的配置文件里各[mysqld],[ndbd]和[ndb_mgmd]配置的選項值順序應該如下:
[mysqld]
Id=4
HostName=192.168.208.3
Id在頂端緊跟其后的是HostName,如果順序錯了,當SQL或數據節點連接管理節點時,管理節點無法正確的定位
到其對應的節點配置上.
因為無法定位到對應的節點配置,當沒有剩余的[空節點]時,客戶端節點啟動時(./mysqld or ./ndbd)
還會報:
Configuration error: Error?: Could not alloc node id at 192.168.0.231 port 1186: No free
node id found for mysqld
(API).Failed to initialize consumers
8:[空節點]是沒有指定HostName選項的節點配置均為空節點,空節點可以用來動態配置一些動態IP的節點,
一般管理節點的 配置文件要預留3個以上的空節點,因為備份時需要連接一個節點,如下:
[mysqld]
Id=6 # ps -ef|grep mysql
root 13882 1 0 15:25 pts/5 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/dbs1.pid
mysql 14185 13882 0 15:25 pts/5 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/dbs1.err --pid-file=/usr/local/mysql/data/dbs1.pid --socket=/tmp/mysql.sock --port=3306

轉載于:https://www.cnblogs.com/bigshuai/archive/2012/02/29/2373865.html

總結

以上是生活随笔為你收集整理的MySQL Cluster7.2.4 集群配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。