自己经历的mysql cluter配置过程

时间:2022-10-29 16:36:21


最近使用了几天时间来完成mysql cluster服务的配置工作。

 

    使用linux 企业版本5.0+ mysql 5.1.21版本软件和四*立的机器来做配置硬

件环境。
    因为公司给我了很好的机会,给我抽出了四台机器。但也不再一个地方,我就用了一个linux客户端远程连接软件来控制这些机器,并且用了root用户直接登录,方便各种权限问题不要打扰我。我看了vnc等软件,可我没有采用这样的软件。

 

MySQL 5.1 Reference Manual:http://dev.mysql.com/doc/refman/5.1/en/

 MySQL Cluster:http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster.html

MySQL 5.1 Downloads:http://dev.mysql.com/downloads/mysql/5.1.html

在我配置过程当中我使用了

Linux x86 generic RPM (dynamically linked) downloads部分的rpm包下载并安装。

在linux enterprise  5 安装的时候没有选择数据库方面的更多的选项,因为我之前的一个选择安装很多默认包的情况下再去安装mysql时会出现很包之间的冲突问题,很让我郁闷。

还有在比较老的版本当中,使用rpm -qa|grep mysql能够查询到mysql的包,但是5.1版本只用

shell>rpm -qa|grep server

shell>rpm --qa|grep client

方式查找包名成。

要对已经有安装的myql的情况再安装新的包来更新使用

shell>rpm -Uvh /xxx/xxx/xxx.rpm

如果说要对已经存在依赖关系的包删除需要使用

shell>rpm -e xxxx --nodeps

    因为这些在我这个初次接触liunx的学生来说,为了解决这个问题,耗费了很长时间,就此也现在做提示牌。

     还有在我这里的总结是在周末家里完成,就用琐碎的记忆来完成,没有实际环境罪证,只能很多用xxx来代替了。

    这里我使用了四台机器:

参考:http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-multi-computer.html

 自己经历的mysql cluter配置过程

 

在我的测试环境里对比如下:

config file ip node need soft  
/etc/my.cnf 192.168.1.16 ndbd server,ndb-storage  
/etc/my.cnf 192.168.1.19 ndbd server,ndb-storage  
/etc/my.cnf 192.168.1.79 sql server,ndb-tools  
config.ini 192.168.1.76 mgm server,ndb_management  
         

 


 

 

这里配置文件决定了很重的作用。
   1、我在查询中发现my.cnf必须在/etc下面,mysql会自动载入配置文件。不过我没改动一次都service mysql restart;
    参考:http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-multi-config.html
   2、config.ini文件可以放在自己的目录里,但是做
   shell>ndb_mgmd -f /var/lib/mysql-cluster/config.ini
   参考:http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-multi-initial.html

  3、上述三my.cnf文件在描述文档中配置环节是一样。但是我在配置完运行时发现sql node 机器要做额外的修改工作,就是innoDB的部分。在文件里有innodb_开头的部分清楚#。
   my.cnf说明:http://www.blogjava.net/jiangshachina/archive/2007/05/23/119308.html

在我安装规程当中系统要求我安装perl_DBI,我就下载了一个,并安装了。还有安装的时候提示
Class::MethodMaker ,原以为系统perl版本的问题,但最后查询到需要安装Class-MethodMaker-2.08版本。

 

这样就是大体的环境配置工作完成。

同时在ndbd node 上操作: 

 
192.168.1.16  
shell> ndbd  
192.168.1.19  
shell> ndbd



192.168.1.76上操作:

shell>service mysql stop;

shell>mysqld

192.168.1.79机器上操作:

shell> ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> SHOW
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=2    @192.168.0.16  (Version: 5.1.21, Nodegroup: 0, Master)
id=3    @192.168.0.19  (Version: 5.1.21, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.0.76  (Version: 5.1.21)

[mysqld(SQL)]   1 node(s)
id=4   (Version: 5.1.21-beta)

我希望先ndbd ,再ndb_mgm,如果在show情况下没有连接成功报告,多测试几次。

在下,就是做dbd_cluster操作。

192.168.1.76上:
shell >mysql
.....
.....
mysql>

sql的脚本测试:http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-multi-load-data-queries.html
其中最注意的就是ENGINE=NDBCLUSTER DEFAULT CHARSET=utf8;

在我的上一个杂谈mysql 和 sql server 的执行脚本对比 中写道的如上配置环境下面的测试结果感叹,确实有些硬件环境的原因。

接下来的就是希望我能够对linux系统的性能方面的知识和mysql性能方面的知识的充饥,及还要做一些具体的检测操作方法。我希望大家给我很好操作简易和指导,让我能够完成这一次的艰苦旅程。

考虑的问题:

1、linux集群测试环境主要关注哪些指标?
2、mysql服务集群环境关注哪些指标?
3、应该选择哪些性能测试软件?loadrunner ?
4、需要选择什么样的步骤完成测试任务?

再次感谢大家!