Mysql Cluster

ʮ��Mysql��Ⱥ

��1.����

��NDB�� ��һ�֡��ڴ��С��Ĵ洢���棬Ҳ�������ʹ洢���棬�߱�ACID���ԡ�

a.����(MGM)�ڵ����������MySQL Cluster�ڵ�����ڵ㣬���ṩ������ݡ�������ֹͣ�ڵ㡢���б��ݵȡ���������ڵ㸺���������ڵ�����ã�Ӧ����������ڵ�֮ǰ������������ڵ㡣MGM�ڵ��������ndb_mgmd�������ġ�

b.��ݽڵ������ڱ��� Cluster����ݡ���ݽڵ����Ŀ�븱������Ŀ��أ���Ƭ�εı�����ݽڵ��������ndbd�������ġ�

c.SQL�ڵ����������� Cluster��ݵĽڵ㡣Ҳ����Mysql������ʹ��service mysqld start������

���������(MGM�ڵ�)������� Cluster�����ļ��� Cluster��־�� Cluster�е�ÿ���ڵ�ӹ������������������ݣ�������ȷ���������������λ�õķ�ʽ������ݽڵ��ڳ����µ��¼�ʱ���ڵ㽫���������¼�����Ϣ���䵽�����������Ȼ��������Ϣд�� Cluster��־��

spacer.gif

��2.��Ⱥ���ø�����

������
����ϵͳ��centos 6.5 x86_64
�����mysql-cluster-gpl-7.3.12-linux-glibc2.5-x86_64.tar.gz ����汾����ȥ��������
����ڵ㣺ip:192.168.1.201
sql�ڵ�-��ݽڵ㣺ip:192.168.1.202
sql�ڵ�-��ݽڵ㣺ip:192.168.1.203

��װ������yum install  libaio-devel  glibc perl  �Cy

x32λϵͳҪ��װ���ݿ��飺yum groupinstall ��Compatibility libraries��

��װmysql cluster��mysql��һ��ֻ�������ļ���������ʽ����ı䣬���Ի���mysql��װ

�ر�SElinux��IPtables��

/etc/init.d/iptables stop  && setenforce 0 && sed �CI ��s/SELINUX=enforcing/SELINUX=disabled/�� /etc/selinux/config


��3.����ڵ㰲װ

groupadd mysql
useradd -g mysql -s /sbin/nologin  -M mysql
tar xf mysql-cluster-gpl-7.3.12-linux-glibc2.5-x86_64.tar.gz
cp -r mysql-cluster-gpl-7.3.12-linux-glibc2.5-x86_64 /usr/local/mysql
chown -R root:mysql /usr/local/mysql/
chown -R  mysql:mysql /usr/local/mysql/data/
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
cp -rf /usr/local/mysql/bin/ndb_mgm* /usr/local/bin/

��4.�޸�mysql�������ļ�

vim /etc/my.cnf 
[MYSQLD]
 user = mysql
 socket = /tmp/mysql.sock
 basedir = /usr/local/mysql #��װĿ¼
 datadir = /usr/local/mysql/data #��ݿ���Ŀ¼
 character-set-server=UTF8
 ndbcluster #����NDB�洢����
 lower_case_table_names=1 #�����Ƿ���ִ�Сд1Ϊ����֣���Ȼlinux�±�������ִ�Сд��
[mysqld_safe] 
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid 
[MYSQL_CLUSTER]
ndb-connectstring=192.168.0.202 #Mysql Cluster����ڵ�IP

��5.����mysql��Ⱥ�����ļ�

mkdir /var/lib/mysql-cluster
vi /var/lib/mysql-cluster/config.ini
[ndbd default]
NoOfReplicas=2 #������Cluster��������ͬ��ݵķ������Ϊ4
DataMemory=80M #���������ڴ��С����ݱ���������ڴ�����������
IndexMemory=18M #�趨���ڴ�������������ݵ��ڴ�δ�С
#һ��NDB�ڵ��ܴ�ŵ�������ǻ��ܵ�DataMemory��IndexMemory�����������õ�Լ�������κ�һ���ﵽ�����������޷��������ܴ洢���������������������ϵͳ�ᱨ�?table is full����
[ndb_mgmd]
nodeid=1
hostname=192.168.1.201
datadir=/var/lib/mysql-cluster/
[ndbd]
nodeid=2
hostname=192.168.1.202
datadir=/usr/local/mysql/data
[ndbd]
nodeid=3
hostname=192.168.0.203
datadir=/usr/local/mysql/data
[mysqld]
nodeid=4
hostname=192.168.0.202
[mysqld]
nodeid=5
hostname=192.168.0.203
[mysqld]
[mysqld]

#һ��Ҫ��һ���յģ��Ա���չʹ�ã���������Failed to allocate nodeid No free node id found for ndbd(NDB)����

#����ʱ�� []�ұߵ�ע�Ͳ�Ҫ���ϣ�����ϵͳ����

chown mysql.mysql /var/lib/mysql-cluster/config.ini



��6.��̨��ݽڵ��sql�ڵ�����

tar xf mysql-cluster-gpl-7.3.12-linux-glibc2.5-x86_64.tar.gz
mv mysql-cluster-gpl-7.3.12-linux-glibc2.5-x86_64 /usr/local/mysql
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
chown -R root.mysql /usr/local/mysql
chown -R mysql.mysql /usr/local/mysql/data
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql & #��ʼ����ݿ�
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
cp /usr/local/mysql/support-files/medium.cnf /etc/my.cnf
chmod +x /etc/init.d/mysqld


��7.�޸���mysql�����ļ�

vi /etc/my.cnf
[MYSQLD]
user=mysql
character_set_server=utf8
port=3306
default-storage-engine=ndbcluster #����Ĭ����NDB�洢����
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
[MYSQL_CLUSTER]
ndb-connectstring=192.168.1.201 #mysql cluster ����ڵ�IP

��8.����

a.��������ڵ�

ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial    #��������ڵ�
netstat -tulnp | grep 1186    #�鿴�����˿�
tcp        0      0 0.0.0.0:1186                0.0.0.0:*                   LISTEN      1451/ndb_mgmd

#--initial����һ������ʱ���ϣ�����ʱ��Ҫ�ӣ���Ȼ�������գ�������ڱ��ݡ��ָ������ñ仯������ʱ��

����������ֱ��?��config.ini�����õ�nodeid����ɾ��ɣ�

b.�鿴��Ⱥ״̬
 /usr/local/mysql-cluster/bin/ndb_mgm -e show

c.�鿴��Ⱥ�ڴ�ʹ�����

ndb_mgm> all report memoryusage;
Node 2: Data usage is 0%(5 32K pages of total 2560)
Node 2: Index usage is 0%(8 8K pages of total 3104)
Node 3: Data usage is 0%(5 32K pages of total 2560)
Node 3: Index usage is 0%(8 8K pages of total 3104)



d.������ݿ��Ƿ�ͬ��

# /usr/local/mysql-data/bin/mysql -uroot -p
mysql> show databases;
��һ̨�ϴ���������̨�鿴
��
 ls /data/test/dbo/
db.opt
������Ⱥ���
mysql> create table t1(id 1);
mysql> show tables;
+---------------+
| Tables_in_dbo |
+---------------+
| t1            |
+---------------+
1 row in set (0.00 sec)
���Ĭ�ϲ�ָ������Ϊndbcluster��洢Ϊ����
mysql> create table t2(id int ,name varchar(20)) engine ndbcluster;
Query OK, 0 rows affected (1.23 sec)
 ls /data/test/dbo/
db.opt  t1.frm  t1.MYD  t1.MYI  t2.frm  t2.ndb
 ls /data/test/dbo/
db.opt  t2.frm  t2.ndb

��9.�ر�����˳��
�رռ�Ⱥ˳��SQL�ڵ�->��ݽڵ�->����ڵ� ����ʹ��# ./ndb_mgm -e shutdown����رռ�Ⱥ
������Ⱥ˳��: ����ڵ�->��ݽڵ�->SQL�ڵ�


���ij��� ����������� ���ͣ�����ر����˳���http://szk5043.blog.51cto.com/8456440/1811597

你可能感兴趣的:(Mysql Cluster)