最近使用了几天时间来完成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
在我的测试环境里对比如下:
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、需要选择什么样的步骤完成测试任务?
再次感谢大家!