bitsCN.com
环境:
一台10.32.33.120 做一个数据节点,SQL节点,管理节点
一台 10.32.34.116 做一个数据节点,SQL节点。
操作系统都是 CentOS5.4 64位。
一 下载MySql Cluster7.2.5
http://www.mysql.com/downloads/cluster/
注:如果已经存在MySql,需要先删除,方法:
如果能联网 yum remove mysql
否则手动删除mysql
先看看都安装了什么包:
# rpm -qa|grep MySQL
然后把这些包都卸载掉
rpm -e MySQL-server-5.5.21-1.linux2.6
rpm -e MySQL-client-5.5.20-1.linux2.6
二 下载后解压
先设置10.32.33.120,把MySql Cluster下载到/downfiles下
#cd downfiles
#tar –zxvf mysql-cluster-gpl-7.2.5-linux2.6-x86_64.tar.gz //解压
三 把解压后的文件拷贝到/usr/local下,名字为mysql
#cp /downfiles/mysql-cluster-gpl-7.2.5-linux2.6-x86_64 /usr/local/mysql
#cd /usr/local/mysql
# chown –R root . //把mysql的目录设置成所有者为root
#chown –R mysql /data //把data目录设置所有者为mysql
#chgrp –R mysql . //改成所属组为mysql
#cd scripts/
#mysql_install_db –user=mysql 这句就是安装了
四 设置mysql服务为开机自启动
#chmod +x /etc/rc.d/init.d/mysqld //给这个文件赋予可修改权限
#chkconfig --add mysqld // chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息,chkconfig --add name:增加一项新的服务
此时还不能开机自启,还需要设置环境变量
#vi /etc/profile
最后面加上两句
PATH=$PATH:/usr/local/mysql/bin
export PATH
以上操作在两台服务器上做同样操作。
五:配置
1、配置管理节点
拷贝/usr/local/mysql/bin/ndb_mgm,ndb_mgmd两个文件到/usr/local/bin
#cp /usr/local/mysql/bin/ndb_mgm* /usr/local/bin
#mkdir /var/lib/mysql-cluster
#vim /var/lib/mysql-cluster/config.ini
输入下面内容:
[ndbd default]
NoOfReplicas=1 #每个数据节点的镜像数量
DataMemory=200M #每个数据节点中给数据分配的内存
IndexMemory=20M #每个数据节点中给索引分配的内存
[ndb_mgmd] #配置管理节点
NodeId=1
hostname=10.32.34.116
datadir=/var/lib/mysql-cluster/ #管理节点数据(日志)目录
[ndbd] #数据节点配置
NodeId=2
hostname=10.32.33.120
datadir=/usr/local/mysql/data/ #数据节点目录
[ndbd]
NodeId=3
hostname=10.32.34.116
datadir=/usr/local/mysql/data/
[mysqld]
hostname=10.32.33.120
[mysqld]
hostname=10.32.34.116
[mysqld] #一定要留一个空的,以备扩展使用,否则会出现Failed to allocate nodeid No free node id found for ndbd(NDB)错误
[mysqld]
注:配置时, []右边的注释不要加上,否则系统不认。
[NDBD DEFAULT]:表示每个数据节点的默认配置在每个节点的[NDBD]中不用再写这些选项,只能有一个。
[NDB_MGMD]:表示管理节点的配置,只有一个。
[NDBD]:表示每个数据节点的配置,可以有多个。
[MYSQLD]:表示SQL节点的配置,可以有多个,分别写上不同SQL节点的IP地址。
2、配置数据节点和SQL节点
mysql服务启动时会默认加载/etc/my.cnf作为其配置文件,修改10.32.33.120上的my.cnf
[mysqld]
ndbcluster #运行NDB存储引擎
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
port=3306
[mysql_cluster]
ndb-connectstring=10.32.34.116 #声明管理节点
拷贝一份到另一台10.32.34.116
#scp /etc/my.cnf 10.32.34.116:/etc/
六 启动
节点的启动顺序为管理节点->数据节点->SQL节点。
1、120上启动管理节点
#cd /usr/local/bin
# ./ndb_mgmd -f /var/lib/mysql-cluster/config.ini // ndb_mgmd是mysqlcluster的管理服务器,后面的-f表示后面的参数是启动的参数配置文件。如果在启动后过了几天又添加了一个数据节点,这时修改了配置文件启动时就必须加上--initial参数,不然添加的节点不会作用在mysql cluster中
2、启动数据节点
安装后第一次启动数据节点时要加上--initial参数,其它时候不要加,除非是在备份、恢复或配置变化后重启时
#cd /var/local/mysql/bin/ndbd –initial
2012-03-28 02:01:38 [ndbd] INFO -- Angel connected to '10.32.33.120:1186'
2012-03-28 02:01:38 [ndbd] INFO -- Angel allocated nodeid: 36
出现这种信息表示启动成功.
3、启动SQL节点
#mysqld_safe --ndb_nodeid=5 --user=mysql &
同样方法,启动另外一个机器,注意nodeid的编号。
4、客户端查看
#cd /usr/local/bin
#.ndb_mgm
ndb_mgm> show
ndb_mgm> show
Cluster Configuration
---------------------
ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 @10.32.33.120 (mysql-5.5.20 ndb-7.2.5, Nodegroup: 0, Master)
id=3 @10.32.34.116 (mysql-5.5.20 ndb-7.2.5, Nodegroup: 1)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @10.32.34.116 (mysql-5.5.20 ndb-7.2.5)
[mysqld(API)] 4 node(s)
id=4 @10.32.33.120 (mysql-5.5.20 ndb-7.2.5)
id=5 @10.32.34.116 (mysql-5.5.20 ndb-7.2.5)
id=6 (not connected, accepting connect from any host)
id=7 (not connected, accepting connect from any host)
可以看到各个节点已经连接上了, mysql cluster配置完成.
如果看不到上述信息,可能是防火墙问题,你可以选择把CentOS的防火墙关掉,命令为:/etc/init.d/iptables stop
管理节点关闭,在ndb_mgm>提示符下输入shutdown,再输入exit即可退出。
7 测试。
1、从SQL节点A登录,创建数据库和表,进行简单测试。
mysql> create database zxztest ;
mysql> use zxztest;
Database changed
mysql> create table test1(id int,name varchar(10)) engine=ndb ;
mysql> insert into test1 values(1,'zhaoxuezhi');
mysql> select * from test1 ;
+------+---------+
| id | name |
+------+---------+
| 1 | zhaoxuezhi |
+------+---------+
登陆B节点,查看效果,库,表和数据已经同步。
从B节点插入一条数据,同样登陆A,也能看到数据已经同步。
bitsCN.com
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
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

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

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

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