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

歡迎訪問 生活随笔!

生活随笔

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

数据库

mysql数据库rp集群,使用MySQL-Cluster搭建MySQL数据库集群

發布時間:2023/12/4 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql数据库rp集群,使用MySQL-Cluster搭建MySQL数据库集群 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、MySQL集群的作用:

- 解決訪問節點的單點故障

- 數據存儲節點的單點故障

- 解決數據存儲節點數據備份問題

2、集群:

使用一組服務器提供相同的服務

3、關于MySQL-Cluster:

MySQL官方提供的集群版本

已集成標準版MySQL程序,可獨立安裝使用

采用NDB(Network DataBase)引擎

假定每個節點都有獨立內存、硬盤

利用廉價硬件減少整個數據庫的單點故障

4、集群中服務器的角色

- 數據節點:ndbd(單線程) ndb_mtd(多線程)?? 存儲數據的(表里的記錄)

- Sql節點:mysqld? 是客戶端訪問數據的接口,負責執行SQL命令

可理解為支持NDB的標準MySQL服務器,僅存儲表結構、獨立的用戶授權

面向客戶端提供用戶鑒權、SQL查詢等訪問服務

- 管理節點:ndb_mgmd? 管理集群中的所有服務器

客戶端:client 訪問數據

5、案例拓撲:

6、MySQL集群的搭建(配置)

1)公共配置:

# rpm -qa | grep -i mysql

# service mysql? stop ; chkconfig? mysql off

# rpm -e --nodeps MySQL-devel MySQL-embeddedMySQL-test MySQL-server MySQL-client MySQL-shared MySQL-shared-compat

//保留RHEL自帶的mysql-libs包

# rm -rf??/etc/my.cnf

# rm -rf??/var/lib/mysql/*

# tar -xvfMySQL-Cluster-gpl-7.3.3-1.el6.x86_64.rpm-bundle.tar

# rpm -Uvh MySQL-Cluster-*.rpm

2)配置管理節點:

運行管理進程?? ndb_mgmd

配置文件? /etc/config.ini?? (服務器的角色? 和角色對應的ip? id號?? 工作目錄)

[ndbd?default] :數據節點的公共配置

[ndb_mgmd] :指定管理節點

[ndbd] :指定數據節點

[mysqld] :指定sql節點

# mkdir??-p??? /var/log/mysql-cluster?? //創建工作目錄

# vim?/etc/config.ini?? //編寫主配置文件

[ndbd?default]

NoOfReplicas=2?????? //保留2份數據拷貝

DataMemory=80M???? //數據緩存大小

IndexMemory=18M?? //索引緩存大小

[ndb_mgmd]

nodeid=7????? //管理節點的ID標識

hostname=192.168.4.100?? //管理節點的IP地址

datadir=/var/log/mysql-cluster??? //工作目錄

[ndbd]?????????? //設置數據節點ndbA

nodeid=8????? //數據節點ndbA的ID標識

hostname=192.168.4.30???? //此節點的IP地址

datadir=/var/log/mysql-cluster/data???? //工作目錄

[ndbd]???????? //設置數據節點ndbB

nodeid=9

hostname=192.168.4.40

datadir=/var/log/mysql-cluster/data

[mysqld]????? //設置sql節點sqlA

nodeid=10????? //sql節點sqlA的ID標識

hostname=192.168.4.10???? //此節點的IP地址

[mysqld]????? //設置sql節點sqlB

nodeid=11

hostname=192.168.4.20

:wq

3)配置數據節點:

運行數據進程?? ndbd

配置文件:? /etc/my.cnf

#mkdir?-p?? /var/log/mysql-cluster/data??? //創建工作目錄

#vim????/etc/my.cnf

[mysqld]

datadir=/var/log/mysql-cluster/data? ?? ??//工作目錄

ndb-connectstring=192.168.4.100??? //管理節點IP地址

ndbcluster???????????????????? //指定使用ndbcluster集群存儲引擎

[mysql_cluster]

ndb-connectstring=192.168.4.100?? //如何連接管理節點

:wq

4)配置sql節點

運行mysql服務??mysql(此服務是由mysql-cluster軟件包提供)

#vim???/etc/my.cnf

[mysqld]

ndbcluster??????????????????????????????? //指定使用ndbcluster集群存儲引擎

default-storage-engine=ndbcluster??? //指定表的默認存儲引擎是 ndbcluster

ndb-connectstring=192.168.4.100

[mysql_cluster]

ndb-connectstring=192.168.4.100???? //如何連接管理節點

:wq

7、啟動不同角色服務器上進程

1)? 啟動管理節點上的管理進程

#ndb_mgmd? -f??/etc/config.ini

//啟動進程,結合-f選項讀取.ini配置;默認后臺模式,調試時可加--nodaemon;修改了配置以后,可加--initial重新初始化

#netstat?-untlap? |? grep???:1186? ??//查看進程

#pkill??-9?? ndb_mgmd????? //殺死進程

2)依次啟動數據節點上的數據進程

#ndbd

//首次執行時,可加--initial初始化;多個數據節點的操作相同

3)依次啟動sql節點上的數據庫服務

#service?? mysql?start??//多個sql節點的操作相同

8、查看集群狀態

1)管理節點上登錄管理界面,查看狀態

#ndb_mgm

ndb_mgm> show

Cluster Configuration

---------------------

[ndbd(NDB)]? 2node(s)

id=8 @192.168.4.30? (mysql-5.6.14 ndb-7.3.3, Nodegroup: 0, *)

id=9 @192.168.4.40? (mysql-5.6.14 ndb-7.3.3, Nodegroup: 0)

[ndb_mgmd(MGM)]????? 1 node(s)

id=7 @192.168.4.100? (mysql-5.6.14 ndb-7.3.3)

[mysqld(API)]?????? 2 node(s)

id=10????? @192.168.4.10? (mysql-5.6.14 ndb-7.3.3)

id=11????? @192.168.4.20? (mysql-5.6.14 ndb-7.3.3)

ndb_mgm>

2)Sql節點的mysql初始化

重設root密碼;為客戶端訪問添加用戶授權

#service mysqlstart

#mysql -uroot -p初始密碼??? //初始密碼見/root/.mysql_secret文件

3)在sql節點上,檢查默認的存儲引擎

Mysql>show engines;

9、測試訪問節點的單點故障

在sql節點上授權可以從遠端的客戶機連接自己

Grant all?on? webdb.* to webuser@”%”identified by “webuser88”;? //兩個sql節點都做授權

客戶端訪問:#mysql-h192.168.10/20? -uwebuser -pwebuser88

mysql>create? database??webdb;

mysql>create? table?webdb.a(id int);

mysql>insert?? into?webdb.a values(1000);

mysql> select? * from webdb.a ;

訪問sqlA節點操縱數據,在sqlB上會同步結果。

10、測試數據節點的單點故障

數據節點之間可以互相備份,自動選舉Master,自動同步數據。測試時可關掉一個數據節點的ndbd服務,插入、查詢數據驗證數據的同步性。

Sql節點和數據節點的進程正常運行后,不需要重啟的話,管理節點可以關掉

總結

以上是生活随笔為你收集整理的mysql数据库rp集群,使用MySQL-Cluster搭建MySQL数据库集群的全部內容,希望文章能夠幫你解決所遇到的問題。

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