管理节点: 10.32.2.48
数据节点: 10.32.2.49
10.32.2.50
Sql节点: 10.32.2.49
10.32.2.50
Sql节点:10.32.2.49、10.32.2.50
groupadd mysql
useradd -g mysql -s /bin/false mysql
tar -C /usr/local -xzvf mysql-cluster-gpl-7.5.11-linux-glibc2.12-x86_64.tar.gz
ln -s /usr/local/mysql-cluster-gpl-7.5.11-linux-glibc2.12-x86_64 /usr/local/mysql
cd /usr/local/mysql/bin
mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
10.32.2.49随机密码:uspX8%kHdg)% 10.32.2.50随机密码:>36XJOdDa9G2
cd /usr/local/mysql
chown -R root .
chown -R mysql data
chgrp -R mysql .
cp support-files/mysql.server /etc/rc.d/init.d/
chmod +x /etc/rc.d/init.d/mysql.server
chkconfig --add mysql.server
数据节点:10.32.2.49、10.32.2.50
cd /home
tar -zxvf mysql-cluster-gpl-7.5.11-linux-glibc2.12-x86_64.tar.gz
cd mysql-cluster-gpl-7.5.11-linux-glibc2.12-x86_64
cp bin/ndbd /usr/local/bin/ndbd
cd /usr/local/bin
chmod +x ndb*
管理节点:10.32.2.48
cd /home
tar -zxvf mysql-cluster-gpl-7.5.11-linux-glibc2.12-x86_64.tar.gz
cd mysql-cluster-gpl-7.5.11-linux-glibc2.12-x86_64
cp bin/ndb_mgm* /usr/local/bin
cd /usr/local/bin
chmod +x ndb_mgm*
NDB集群的初始配置
数据节点和Sql节点:
vi /etc/my.cnf
[mysqld]
ndbcluster
[mysql_cluster]
ndb-connectstring=10.32.2.48
管理节点:
mkdir /var/lib/mysql-cluster
cd /var/lib/mysql-cluster
vi config.ini
[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2 # Number of replicas
DataMemory=64G # How much memory to allocate for data storage
IndexMemory=16G # How much memory to allocate for index storage
# For DataMemory and IndexMemory, we have used the
# default values. Since the "world" database takes up
# only about 500KB, this should be more than enough for
# this example NDB Cluster setup.
ServerPort=2202 # This the default value; however, you can use any
# port that is free for all the hosts in the cluster
# Note1: It is recommended that you do not specify the port
# number at all and simply allow the default value to be used
# instead
# Note2: The port was formerly specified using the PortNumber
# TCP parameter; this parameter is no longer available in NDB
# Cluster 7.5.
[ndb_mgmd]
# Management process options:
HostName=10.32.2.48 # Hostname or IP address of MGM node
DataDir=/var/lib/mysql-cluster # Directory for MGM node log files
[ndbd]
# Options for data node "A":
# (one [ndbd] section per data node)
HostName=10.32.2.49 # Hostname or IP address
NodeId=2 # Node ID for this data node
DataDir=/usr/local/mysql/data # Directory for this data node's data files
[ndbd]
# Options for data node "B":
HostName=10.32.2.50 # Hostname or IP address
NodeId=3 # Node ID for this data node
DataDir=/usr/local/mysql/data # Directory for this data node's data files
[mysqld]
# SQL node options:
HostName=10.32.2.49 # Hostname or IP address
# (additional mysqld connections can be
# specified for this node for various
# purposes such as running ndb_restore)
[mysqld]
# SQL node options:
HostName=10.32.2.50 # Hostname or IP address
# (additional mysqld connections can be
# specified for this node for various
# purposes such as running ndb_restore)
管理节点:
ndb_mgmd -f /var/lib/mysql-cluster/config.ini
数据节点:
mkdir -p /usr/local/mysql/data
chown -R root /usr/local/mysql/data
ndbd
管理节点:
ndb_mgm
ndb_mgm> SHOW
启动sql节点数据库:
service mysql start
用初始密码登陆:
10.32.2.49随机密码:uspX8%kHdg)% 10.32.2.50随机密码:>36XJOdDa9G2
mysql -u root -p'uspX8%kHdg)%'
mysql -u root -p'>36XJOdDa9G2'
更改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
测试数据库集群:
create database samtest;
use samtest
由于为分布式集群,所以,在Mysql中创建的表的存储引擎必须修改为:NDB Cluster,否则数据不会同步到其他节点服务器上。
mysql>show engines;
CREATE TABLE tb_city(
id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(20) NOT NULL DEFAULT '')
ENGINE = NDBCLUSTER DEFAULT CHARSET utf8mb4;
INSERT INTO tb_city VALUES(1, 'city1');
INSERT INTO tb_city VALUES(2, 'city2');
INSERT INTO tb_city VALUES(3, 'city3');
ALTER TABLE tablename ENGINE=NDBCLUSTER
在另一个Sql节点查看
show databases;
show tables;
select * from tb_city;
create table test1 (id int,name char(10));
insert into test1 values(1,'Tom');
查询mysql-cluster集群表空间数据文件大小:
SELECT TABLESPACE_NAME, FILE_NAME, EXTENT_SIZE*TOTAL_EXTENTS/1024/1024 AS TOTAL_MB, EXTENT_SIZE*FREE_EXTENTS/1024/1024 AS FREE_MB, EXTRA FROM information_schema.FILES WHERE FILE_TYPE="DATAFILE";
查询内存使用情况(管理节点执行):
ndb_mgm>All report memory
SELECT node_id, memory_type, total FROM ndbinfo.memoryusage;
ndb_mgm -e shutdown
ndb_mgmd -f /var/lib/mysql-cluster/config.ini reload
ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
更改datamemory的大小
1、停止cluster
ndb_mgm -e shutdown
2、修改/var/lib/mysql-cluster/config.ini
修改datamemory的大小为72G
3、初始化配置文件
ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
4、在数据节点上启动ndbd
ndbd
5、重启mysql数据库