服务器之家

专注于服务器技术!
当前位置:首页 > 数据库服务器 > MySQL

MySQL节点管理安装过程详解

发布时间:2013-09-04 来源:服务器之家

对大家推荐很好使用的MySql节点系统,像让大家对MySql节点系统有所了解,然后对MySql节点系统全面讲解介绍,希望对大家有用在向大家详细介绍MySql节点之前,首先让大家了解下MySql节点,然后全面介绍MySql节点,希望对大家有用。这篇文档旨在介绍如何安装配置基于2台服务器的MySQL集群。并且实现任意一台服务器出现问题或宕机时MySql集群依然能够继续运行。

安装环境及软件包:2台PCmysql-6.0.0-alpha.tar.gzCentos5SerA:192.168.1.50SerB:192.168.1.8

1、在SerA和SerB上安装MySQL以下步骤需要在SerA和SerB上各做一次
# mv mysql-6.0.0-alpha.tar.gz /tmp/package  
# cd /tmp/package  
# groupadd mysql  
# useradd -g mysql mysql  
# tar -zxvf mysql-6.0.0-alpha.tar.gz  
# rm -f mysql-6.0.0-alpha.tar.gz  
# mv mysql-6.0.0-alpha mysql  
# cd mysql  
# ./configure --prefix=/usr/local --with-extra-charsets=complex --with-plugin-ndbcluster  
 --with-plugin-partition --with-plugin-innobase --with-unix-socket-path=/usr/local/var/mysql.sock  
# make && make install  
#ln -s /usr/local/libexec/ndbd /usr/bin  
#ln -s /usr/local/libexec/ndb_mgmd /usr/bin  
#ln -s /usr/local/libexec/ndb_cpcd /usr/bin  
#ln -s /usr/local/libexec/mysqld /usr/bin  
#ln -s /usr/local/libexec/mysqlmanager /usr/bin  
#mysql_install_db --user=mysql  
我用的是:mysql-5.0.85-linux-i686.tar.gz


二、安装并配置MySql节点
以下步骤需要在SerA和SerB上各做一次
1.配置管理MySql节点配置文件:

# mkdir /var/lib/mysql-cluster  
# cd /var/lib/mysql-cluster  
# vi config.ini  
在config.ini中添加如下内容:  
[ndbd default]  
NoOfReplicas= 2 
MaxNoOfConcurrentOperations= 10000 
# Amount of memory required=(SizeofDatabase * NumberOfReplicas * 1.1 ) / NumberOfDataNodes  
DataMemory= 128M 
IndexMemory= 24M 
TimeBetweenWatchDogCheck= 30000 
DataDir=/var/lib/mysql-cluster  
MaxNoOfOrderedIndexes= 512 
StartPartialTimeout=100 
StartPartitionedTimeout=100 
ArbitrationTimeout=5000 
TransactionDeadlockDetectionTimeout=5000 
HeartbeatIntervalDbDb=5000 
StopOnError=0 
[ndb_mgmd default]  
DataDir=/var/lib/mysql-cluster  
[ndb_mgmd]  
Id=1 
HostName= 192.168.1.50  
[ndb_mgmd]  
Id=2 
HostName= 192.168.1.8  
[ndbd]  
Id= 3 
HostName= 192.168.1.50  
[ndbd]  
Id= 4 
HostName= 192.168.1.8  
[mysqld]  
ArbitrationRank=2 (非常重要,全靠有它,才可以形成仲裁竞争,从而当另一个机子当了时,此机还可以有知道partion完整的节点)  
[mysqld]  
ArbitrationRank=2 
[mysqld] (多出的这项是留给恢复时使用的.)  
[mysqld] (多出的这项是留给恢复时使用的.)  
[tcp default]  
PortNumber= 63132 
[separator] 

2.配置通用my.cnf文件,mysqld及ndbd,ndb_mgmd均使用此文件.

# vi /etc/my.cnf  
在my.cnf中添加如下内容:  
[mysqld]  
datadir=/usr/local/var  
socket=/usr/local/var/mysql.sock  
# Default to using old password format for compatibility with mysql 3.x  
# clients (those using the mysqlclient10 compatibility package).  
old_passwords=1 
default-storage-engine=ndbcluster 
ndbcluster  
ndb-connectstring=192.168.1.50,192.168.1.8  
[ndbd]  
connect-string=192.168.1.50,192.168.1.8  
[ndb_mgm]  
connect-string=192.168.1.50,192.168.1.8  
[ndb_mgmd]  
config-file=/var/lib/mysql-cluster/config.ini  
[mysql_cluster]  
ndb-connectstring=192.168.1.50,192.168.1.8  
[mysql.server]  
user=mysql 
basedir=/usr/local/  
[mysqld_safe]  
log-error=/var/log/mysqld.log  
#pid-file=/var/run/mysqld/mysqld.pid  
[mysql]  
#socket=/usr/local/var/mysql.sock  
[mysqladmin]  
#socket=/usr/local/var/mysql.sock  
[ndb_restore default] 保存退出后.


三.启动管理MySql节点SerA为:
[root@SerA ~]# ndb_mgmd --ndb_nodeid=1 
Cluster configuration warning:  
arbitrator with id 1 and db node with id 3 on same host 192.168.1.50  
arbitrator with id 2 and db node with id 4 on same host 192.168.1.8  
arbitrator with id 5 has no hostname specified  
arbitrator with id 6 has no hostname specified  
Running arbitrator on the same host as a database node may  
cause complete cluster shutdown in case of host failure. 

注:在启动时有一个警告提示说MySql节点1和3,2和4的arbitrator一样,可能引起整个集群失败。(可以不用放在心上)启动管理MySql节点SerB为:
[root@SerB ~]# ndb_mgmd --ndb_nodeid=2.