Heim >Datenbank >MySQL-Tutorial >RedHat AS4-U2下Mysql 5.0.22集群配置_MySQL

RedHat AS4-U2下Mysql 5.0.22集群配置_MySQL

WBOY
WBOYOriginal
2016-06-01 14:11:381013Durchsuche

RedhatMysql集群

Mysql 5.0.22 Cluster for RedHat AS4-U2

最近看到过很多关于cluster的资料,一直在研究linux系统级的负载均衡和高可用,但是还没有完全成功,只是实现了一些简单的服务;今天在搜集资料中看到有关mysql的cluster,看上去不是很复杂,就花了一个下午的时间研究研究,参考了Nanu前辈的MySQL集群配置步骤,一个简单的集群算是成功了。但是有一点我没搞懂,是不是mysql集群配置完成后,只能同步数据库中的表,而不能同步整个库?请高手指点一二,谢谢!

李增基 联系方式 QQ:156440574 MSN:lzj0619@hotmail.com Email:zengji.li@gmail.com 希望在linux cluster方面和大家交流!

一.实验环境
1. Linux操作系统版本. RedHat AS4-U2
2. Mysql数据库版本 mysql-max-5.0.22-linux-i686-glibc23.tar.gz
共三台机器PC安装了RedHat AS4-U2版本,首先保证把系统中没有一个包带有mysql的,有的话就rpm –e .
PC1 IP:192.168.10.196
PC2 IP:192.168.10.197
PC3 IP:192.168.10.198
二.安装操作步骤
1. 在PC1、PC2上需要执行如下的命令,请按照顺序来执行:
mv mysql-max-5.0.22-linux-i686-glibc23.tar.gz /usr/local/
cd /usr/local/
tar zxvf mysql-max-5.0.22-linux-i686-glibc23.tar.gz
rm mysql-max-5.0.22-linux-i686-glibc23.tar.gz
mv mysql-max-5.0.22-linux-i686-glibc23 mysql
groupadd mysql
useradd -g mysql mysql
cd mysql
scripts/mysql_install_db --user=mysql
chown -R mysql:mysql .
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
vi /etc/my.cnf
找到myisam_sort_buffer_size = 8M这一行,然后在后面添加如下的两行:
ndbcluster
ndb-connectstring=192.168.10.198
然后到my.cnf的最后一行增加以下六行:
[ndbd]
connect-string=192.168.10.198
[ndb_mgm]
connect-string=192.168.10.198
[ndb_mgmd]
config-file=/var/lib/mysql-cluster
修改完毕后,保存推出!
mkdir /var/lib/mysql-cluster
2.在PC3上执行如下的命令,请按照顺序执行:
mv mysql-max-5.0.22-linux-i686-glibc23.tar.gz /usr/local/
cd /usr/local/
tar zxvf mysql-max-5.0.22-linux-i686-glibc23.tar.gz
rm mysql-max-5.0.22-linux-i686-glibc23.tar.gz
mv mysql-max-5.0.22-linux-i686-glibc23 mysql
groupadd mysql
useradd -g mysql mysql
cd mysql
scripts/mysql_install_db --user=mysql
chown -R mysql:mysql .
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
vi /etc/my.cnf
找到myisam_sort_buffer_size = 8M这一行,然后在后面添加如下的两行:
ndbcluster
ndb-connectstring=192.168.10.198
然后到my.cnf的最后一行增加以下六行:
[ndbd]
connect-string=192.168.10.198
[ndb_mgm]
connect-string=192.168.10.198
[ndb_mgmd]
config-file=/var/lib/mysql-cluster
修改完毕后,保存推出!
mkdir /var/lib/mysql-cluster
cd /var/lib/mysql-cluster
touch config.ini
vi config.ini 键入如下信息:(半个字符都不能错)
[NDBD DEFAULT]
NoOfReplicas= 2
DataDir= /var/lib/mysql-cluster
[NDB_MGMD]
Hostname= 192.168.10.198
DataDir= /var/lib/mysql-cluster
[NDBD]
HostName= 192.168.10.197
[NDBD]
HostName= 192.168.10.196
[MYSQLD]
[MYSQLD]
[MYSQLD]
保存退出!
3.到此为止整个的配置步骤算是完成,下面需要设置一些快捷命令:
在PC1、PC2上需要输入以下命令:
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig –add mysqld
ln -s /usr/local/mysql/bin/ndbd /usr/bin/ndbd
vi /etc/rc.local
添加一行ndbd后保存退出
在PC3上需要输入以下命令:
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig –add mysqld
ln -s /usr/local/mysql/bin/ndb_mgm /usr/bin/ndb_mgm
ln -s /usr/local/mysql/bin/ndb_mgmd /usr/bin/ndb_mgmd
vi /etc/rc.local后添加如下一行
/usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini
保存退出!
三.启动服务
PC3需要执行的命令如下:
/usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini
service mysqld start
PC1、PC2需要执行的命令如下:
/usr/local/mysql/bin/ndbd --initial 注:只在第一次启动ndbd时使用--initial参数
service mysqld start
四.测试与检查
PC3需要执行的命令如下:
ndb_mgm
执行如下命令以及显示如下信息则说明工作正常!
[root@lzj local]# ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: 192.168.10.198:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 @192.168.10.197 (Version: 5.0.22, Nodegroup: 0, Master)
id=3 @192.168.10.196 (Version: 5.0.22, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.10.198 (Version: 5.0.22)
[mysqld(API)] 3 node(s)
id=4 @192.168.10.198 (Version: 5.0.22)
id=5 @192.168.10.197 (Version: 5.0.22)
id=6 @192.168.10.196 (Version: 5.0.22)
ndb_mgm>
测试的时候则需要创建表,看是否三台机器的mysql是否能够同步。
五.注意事项
1. mysql cluster在启动过程中必须提前启动管理节点服务器,等管理节点启动成功后,再启动其它节点。
2.关闭整个集群的时候最好最后关闭管理节点
3.管理节点宕机后,剩下的某台主机再宕机后,这样就失去了集群的意义了。管理节点最好是24小时待命。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn