MySQL Cluster配置step by step
MySQL Cluster配置step by step
来源:http://space.itpub.net/15415488/viewspace-620903
公司有个项目是测试distributed DB,其中一项是针对MySQL Cluster的测试。
于是花了两天时间装机器和配置MySQL Cluster。整个过程还是比较顺利的,当然如果对MySQL常用命令比较熟悉的话会更顺利。
留下step by step配置方案,以防忘记。
MySQL Cluster是一种share nothing的机制,跟Oracle的RAC需要共享存储方案是不一样的。
他包含三种节点(node):
Data node:用来存放数据的节点,数据类型是NDB Cluster,放在该节点的内存里。
SQL node:mysql服务器/客户端节点。
MGM node:管理节点,纵观全局的一个配置节点。
所谓的节点,其实也就是相应的进程而已,所以我们可以将不同节点放在同一个机器上。所以理论上,我们只需要一台物理机器就可以玩MySQL Cluster了。
稍微了解了一点理论知识,就可以轻松配置好一个Cluster环境,但其他知识需要在以后的运维和测试过程中自己发掘。MySQL也是一个很庞大的知识体系,不逊于Oracle。
接下来Step by Step讲解如何配置MySQL Cluster,即使你只有0基础,相信也能够很轻松的配置。
1. 准备硬件资源
我拿到了四台普通PC机作为测试机,并全部装好RedHat EL5操作系统。
四台机器全部通过DHCP获得4个外部IP地址。但为了节点之间内部稳定,又给每台机器设定了一个子网静态IP地址,节点之间的通信就可以通过这个静态地址联系了。
这四台机器hostname取名为mysql1/2/3/4,静态地址为:
mysql1
192.168.123.1
mysql2
192.168.123.2
mysql3
192.168.123.3
mysql4
192.168.123.4
2. 部署节点
我们采用1个MGM node,2个SQL node,2个data node的分布方式。
其中由于资源限制,MGM node和一个SQL node部署在同一台机器上。
部署如下:
节点类型
所在物理机器
MGM node
mysql4
SQL node 1
mysql3
SQL node 2
mysql4
Data node 1
mysql1
Data node 2
mysql2
3. 安装MySQL软件
在所有节点上安装mysql-5.0.88-linux-i686-icc-glibc23.tar.gz
下载地址:
http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.88-l
相关文档:
查询语句:
SELECT 字段名 from 表名.
排序 order by 要排序的字段名 desc :以倒序查询.
limit 从第几个开始 查找多少个 :查找指定个数.
同时查询多个字段用","隔开.
如查询表里面的所有数据在字段名处填"*".
如只想显示某字段的前几位字符可以使用LEFT函数.
SELECT 字段名,LEFT(字段名,位数),字段名 from 表名.
COU ......
sudo apt-get install mysql-server mysql-client
sudo apt-get install sun-java6-jdk(安装出意外,sudo dpkg -P sun-java6-bin,然后重新安装)
sudo vi /etc/network/interfaces 配置网络
auto eth0
iface eth0 inet dhcp(static)
address 192.168.8.108
netmask 255.255.255.0
gateway 192.168.8.1
:x保存
sud ......
<?php
$db_name="new";
mysql_connect("localhost","root","123456");
mysql_select_db($db_name);
$tb=mysql_list_tables($db_name);
$sql="";
while($query=mysql_fetch_row($tb)){
$sql="";$table_sql="";
$sql.= get_table_fn($query[0]);
get_table_row($que ......
1、选取最适用的字段属性
MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使 ......