一、准备工作 首先得准备好硬件设施、我这里是3台机器在做群集、结构如下: 管理节点(MGM) 172.16.0.162(db1) SQL节点1(SQL1) 172.16.0.161(db2) SQL节点2(SQL2) 172.16.0.202(db3) 数据节点1(NDBD1) 172.16.0.161(db4) 数据节点2(NDBD2) 172.16.0.202(db4)
一、准备工作
首先得准备好硬件设施、我这里是3台机器在做群集、结构如下:
管理节点(MGM) 172.16.0.162(db1)
SQL节点1(SQL1) 172.16.0.161(db2)
SQL节点2(SQL2) 172.16.0.202(db3)
数据节点1(NDBD1) 172.16.0.161(db4)
数据节点2(NDBD2) 172.16.0.202(db4)
这个硬件搞定了、现在搞软件
最好下载7以上的版本、因为性能好嘛,7.2这个版本的新特性上介绍说是:自适应查询本地化(AQL) 复杂连接速度提高70多倍。当然到底是不是这样我没有测试过不清楚。
二、安装软件
解压mysql-cluster-gpl-7.2.9-win32.zip包
Management node的安装配置。
Management node一定要安装在C盘下,并且是以下的目录(这是在运行此节点时报错,说找不到相对应的目录)。在IP为172.16.0.162的机子上
生成c:/mysql/bin、C:/mysql/mysql-cluster(第一次启动后在这个文件夹会生成类似ndb_1_config.bin.1的文件,好像是为了以后启动加载的配置)
和c:/mysql/bin/cluster-logs目录,在下载解压的文件目录mysql/bin中将ndb_mgmd.exe和ndb_mgm.exe复制到172.16.0.162的c:/mysql/bin目录下。
在172.16.0.162的c:/mysql/bin下生成两个文件,my.ini和config.ini。
my.ini的内容为:
[plain]view plaincopyprint?
[mysql_cluster]
# Options for management node process
config-file=C:/mysql/bin/config.ini
[mysql_cluster] # Options for management node process config-file=C:/mysql/bin/config.ini
config.ini的内容:(注:ID不能从0开始,必须大于0)
[html]view plaincopyprint?
[NDBD DEFAULT]
NoOfReplicas=2
DataDir=D:/Program Files/mysqlcluster/datanode/mysql/bin/cluster-data
DataMemory=80M
IndexMemory=18M
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
[TCP DEFAULT]
[NDB_MGMD]
ID=1
HostName=172.16.0.162 #管理节点服务器
# Storage Engines
DataDir=C:/mysql/bin/cluster-logs
[NDBD]
ID=2
HostName=172.16.0.161 #MySQL集群db1的IP地址
#DataDir= D:/Program Files/mysqlcluster/datanode/mysql/bin/cluster-data #如果不存在就创建一个
[NDBD]
ID=3
HostName=172.16.0.202 #MySQL集群db2的IP地址
#DataDir= D:/Program Files/mysqlcluster/datanode/mysql/bin/cluster-data #如果不存在就创建一个
[MYSQLD]
ID=4
HostName=172.16.0.161
[MYSQLD]
ID=5
HostName=172.16.0.202
[NDBD DEFAULT]NoOfReplicas=2DataDir=D:/Program Files/mysqlcluster/datanode/mysql/bin/cluster-dataDataMemory=80MIndexMemory=18M[MYSQLD DEFAULT][NDB_MGMD DEFAULT][TCP DEFAULT][NDB_MGMD]ID=1HostName=172.16.0.162 #管理节点服务器# Storage EnginesDataDir=C:/mysql/bin/cluster-logs[NDBD]ID=2HostName=172.16.0.161 #MySQL集群db1的IP地址#DataDir= D:/Program Files/mysqlcluster/datanode/mysql/bin/cluster-data #如果不存在就创建一个[NDBD]ID=3HostName=172.16.0.202 #MySQL集群db2的IP地址#DataDir= D:/Program Files/mysqlcluster/datanode/mysql/bin/cluster-data #如果不存在就创建一个[MYSQLD]ID=4HostName=172.16.0.161[MYSQLD]ID=5HostName=172.16.0.202
Data nodes的安装配置
在IP为172.16.0.161 的机子上生成D:/Program Files/mysqlcluster/datanode/mysql/bin、D:/Program Files/mysqlcluster/datanode/mysql/cluster-data、
D:/Program Files/mysqlcluster/datanode/mysql/bin/cluster-data.在下载的的解压文件夹/bin中将ndbd.exe复制到
172.16.0.161 机子的D:/Program Files/mysqlcluster/datanode/mysql /bin目录下,
并在D:/Program Files/mysqlcluster/datanode/mysql/bin目录下生成my.ini文件,文件的内容为:
[html]view plaincopyprint?
[mysql_cluster]
# Options for data node process:
ndb-connectstring=172.16.0.162 # location of management server
[mysql_cluster] # Options for data node process:ndb-connectstring=172.16.0.162 # location of management server 同理在172.16.0.202机子上配置相同的配置,也可以直接复制到172.16.0.202机子上。
SQL node的安装配置
在IP为172.16.0.161的机子上生成D:/Program Files/mysqlcluster/sqlnode目录,将下载的解压文件夹直接整个复制到D:/ProgramFiles/mysqlcluster/sqlnode/mysql目录下,在D:/ProgramFiles/mysqlcluster/sqlnode/mysql下生成my.ini文件,文件内容为:
[html]view plaincopyprint?
[html]view plaincopyprint?
[mysqld]
# Options for mysqld process:ndbcluster
[mysqld] # Options for mysqld process:ndbcluster
[html]view plaincopyprint?
# run NDB storage engine
ndb-connectstring=172.16.0.154
# location of management server
# run NDB storage engine ndb-connectstring=172.16.0.154 # location of management server同理,将D:/Program Files/mysqlcluster/sqlnode整个文件夹复制到172.16.0.202机子的相同目录下。
三、启动集群
启动各个节点是有顺序的,先是Management node,然后是Data nodes,最后是SQL nodes。
a、启动Management node在172.16.0.162机子下进入命令行,,转到c:/mysql/bin目录下,输入:
ndb_mgmd -f config.ini
(
如果报如下错误:MySQL Cluster Management Server mysql-5.5.28 ndb-7.2.9
2013-05-03 10:13:10 [MgmtSrvr] INFO -- The default config directory 'C:/Prog
ram Files/MySQL/MySQL Server 5.5/mysql-cluster' does not exist. Trying to create
it...
Failed to create directory 'C:/Program Files/MySQL/MySQL Server 5.5/mysql-cluste
r', error: 3
2013-05-03 10:13:10 [MgmtSrvr] ERROR -- Could not create directory 'C:/Progra
m Files/MySQL/MySQL Server 5.5/mysql-cluster'. Either create it manually or spec
ify a different directory with --configdir=
则在创建如下文件夹:C:Program FilesMySQLMySQL Server 5.5
)
b、启动Data node
在172.16.0.161机子下进入命令行,转到D:/Program Files/mysqlcluster/datanode/mysql/bin目录下,输入:
ndbd --connect-string="nodeid2;host=172.16.0.162:1186"
同理启动172.16.0.202机子,nodeid2是根据管理节点的配置文件
config.ini中的id决定的,如果id为2,则为nodeid2,配置文件中未指定
id,则按顺序执行。
(注)此时可通过在Management node中新开一命令行,转到
c:/mysql/bin目录下输入命令:
ndb_mgm
启动ndb_mgm.exe,之后输入命令:
ALL STATUS
查看到Data node连接是否成功.之后启动正常之后才能继续启动
SQLnode
c、启动SQL node
在172.16.0.161机子下进入命令行,转到D:/Program
Files/mysqlcluster/sqlnode/mysql/bin目录下,输入:
mysqld --console
按相同方式启动172.16.0.202下的SQL node。
(注):可通过在Management node节点的机器下,转到c:/mysql/bin目录
下输入命令:
ndb_mgm
启动ndb_mgm.exe,之后输入命令:
SHOW
即可查看到各个节点的连接情况。

MySQL使用的是GPL許可證。 1)GPL許可證允許自由使用、修改和分發MySQL,但修改後的分發需遵循GPL。 2)商業許可證可避免公開修改,適合需要保密的商業應用。

選擇InnoDB而不是MyISAM的情況包括:1)需要事務支持,2)高並發環境,3)需要高數據一致性;反之,選擇MyISAM的情況包括:1)主要是讀操作,2)不需要事務支持。 InnoDB適合需要高數據一致性和事務處理的應用,如電商平台,而MyISAM適合讀密集型且無需事務的應用,如博客系統。

在MySQL中,外鍵的作用是建立表與表之間的關係,確保數據的一致性和完整性。外鍵通過引用完整性檢查和級聯操作維護數據的有效性,使用時需注意性能優化和避免常見錯誤。

MySQL中有四種主要的索引類型:B-Tree索引、哈希索引、全文索引和空間索引。 1.B-Tree索引適用於範圍查詢、排序和分組,適合在employees表的name列上創建。 2.哈希索引適用於等值查詢,適合在MEMORY存儲引擎的hash_table表的id列上創建。 3.全文索引用於文本搜索,適合在articles表的content列上創建。 4.空間索引用於地理空間查詢,適合在locations表的geom列上創建。

toCreateAnIndexinMysql,usethecReateIndexStatement.1)forasingLecolumn,使用“ createIndexIdx_lastNameEnemployees(lastName); 2)foracompositeIndex,使用“ createIndexIndexIndexIndexIndexDx_nameOmplayees(lastName,firstName,firstName);” 3)forauniqe instex,creationexexexexex,

MySQL和SQLite的主要區別在於設計理念和使用場景:1.MySQL適用於大型應用和企業級解決方案,支持高性能和高並發;2.SQLite適合移動應用和桌面軟件,輕量級且易於嵌入。

MySQL中的索引是數據庫表中一列或多列的有序結構,用於加速數據檢索。 1)索引通過減少掃描數據量提升查詢速度。 2)B-Tree索引利用平衡樹結構,適合範圍查詢和排序。 3)創建索引使用CREATEINDEX語句,如CREATEINDEXidx_customer_idONorders(customer_id)。 4)複合索引可優化多列查詢,如CREATEINDEXidx_customer_orderONorders(customer_id,order_date)。 5)使用EXPLAIN分析查詢計劃,避

在MySQL中使用事務可以確保數據一致性。 1)通過STARTTRANSACTION開始事務,執行SQL操作後用COMMIT提交或ROLLBACK回滾。 2)使用SAVEPOINT可以設置保存點,允許部分回滾。 3)性能優化建議包括縮短事務時間、避免大規模查詢和合理使用隔離級別。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

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

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Dreamweaver CS6
視覺化網頁開發工具