mysql 集群日志_MySQL集群配置

一.下面假设这3台服务的情况:

Server1: 172.18.3.205

Server2: 172.18.3.207

Server3: 172.18.3.208

Servers1和Server2作为实际配置MySQL集群的服务器。对于作为管理节点的Server3则要求较低,只需对Server3的系统进行很小的调整并且无需安装MySQL,Server3可以使用一台配置较低的计算机并且可以在Server3同时运行其他服务。

====================================

二、在Server1和Server2上安装MySQL

http://www.mysql.com

上下载mysql-max-4.1.22-pc-linux-gnu-i686.tar.gz

注意:必须是max版本的MySQL,Standard版本不支持集群部署!

以下步骤需要在Server1和Server2上各做一次

# cd /usr/local/

# groupadd mysql

# useradd -g mysql mysql

# tar -zxvf mysql-max-4.1.22-pc-linux-gnu-i686.tar.gz

# mv mysql-max-4.1.22-pc-linux-gnu-i686

# cd mysql

# scripts/mysql_install_db –user=mysql

# chown -R root .

# chown -R mysql data

# chgrp -R mysql .

此时不要启动MySQL!

========================================================

三、安装并配置管理节点服务器(Server3)

# tar -zxvf mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz

# rm mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz

# cd mysql-max-4.1.9-pc-linux-gnu-i686

# mv bin/ndb_mgm /usr/bin/

# mv bin/ndb_mgmd /usr/bin/

#cd /usr/bin

# chmod +x ndb_mg*

现在开始为这台管理节点服务器建立配置文件:

# mkdir /var/lib/mysql-cluster

# cd /var/lib/mysql-cluster

# vi config.ini

[NDBD DEFAULT]

NoOfReplicas=2

[MYSQLD DEFAULT]

[NDB_MGMD DEFAULT]

[TCP DEFAULT]

# Managment Server

[NDB_MGMD]

HostName=172.18.3.208

# Storage Engines

[NDBD]

HostName=172.18.3.205

DataDir=/var/lib/mysql-cluster

[NDBD]

HostName=172.18.3.207

DataDir=/var/lib/mysql-cluster

[MYSQLD]

[MYSQLD]

保存退出后,启动管理节点服务器Server3:

/usr/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini

注释: Cluster管理节点的默认端口是1186,数据节点的默认端口2202。从MySQL 5.0.3开始,该限制已被放宽, Cluster能够根据空闲的端口自动地为数据节点分配端口。如果你的版本低于5.0.22,请注意这个细节。

启动管理节点后应该注意,这只是管理节点服务,并不是管理终端。因而你看不到任何关于启动后的输出信息。

=============================================================

四、配置集群服务器并启动MySQL

在Server1和Server2中都需要进行如下改动:

[root@localhost local]# cat /etc/my.cnf

[mysqld]

ndbcluster

ndb-connectstring=172.18.3.208

[mysql_cluster]

ndb-connectstring=172.18.3.208

保存退出后,建立数据目录并启动MySQL

# mkdir /var/lib/mysql-cluster

# cd /var/lib/mysql-cluster

# /usr/local/mysql/bin/ndbd –initial

注意,仅应在首次启动ndbd时,或在备份/恢复数据或配置文件发生变化后重启ndbd时使用“–initial”参数。因为该参数会使节点删除由早期ndbd实例创建的、用于恢复的任何文件,包括用于恢复的日志文件。

如果不是第一次启动,直接运行如下命令即可

=============================================

在 server1 server2 启动mysql

/usr/local/mysql/bin/mysqld_safe –skip-grant-tables &

==================================

注: /usr/local/mysql/bin/mysqld_safe &  这样起有问题

[root@localhost ~]# tail -f /usr/local/mysql/data/localhost.localdomain.err

070723 21:49:58  mysqld started

070723 21:50:00  InnoDB: Started; log sequence number 0 43634

070723 21:50:00 [ERROR] Fatal error: Can’t open and lock privilege tables: Table ‘mysql.host’ doesn’t exist

070723 21:50:00  mysqld ended

============================================

测试:在server1上执行

# /usr/local/mysql/bin/mysql -u root -p

> use test;

> CREATE TABLE ctest (i INT) ENGINE=NDBCLUSTER;

> INSERT INTO ctest () VALUES (1);

> SELECT * FROM ctest;

在server2查询有该记录.证明配置成功

在管理节点上查看

[root@localhost bin]# /usr/bin/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    @172.18.3.205  (Version: 4.1.22, Nodegroup: 0, Master)

id=3    @172.18.3.207  (Version: 4.1.22, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)

id=1    @172.18.3.208  (Version: 4.1.22)

[mysqld(API)]   2 node(s)

id=4    @172.18.3.207  (Version: 4.1.22)

id=5    @172.18.3.205  (Version: 4.1.22)

====================================================

五、启动MySQL Cluster

较为合理的启动顺序是,首先启动管理节点服务器,然后启动存储节点服务器,最后才启动SQL节点服务器:

上述配置把存储节点和sql节点放到同台服务器上了。

==================================================

六.

以下配置把存储节点和sql节点分开来配置

172.18.3.208 —–>管理节点

172.18.3.205 —–>存储节点

172.18.3.207 —–>存储节点

172.18.3.209 —–>sql节点

172.18.3.210 —–>sql节点

管理节点 172.18.3.208

[root@localhost mysql-cluster]# cat /var/lib/mysql-cluster/config.ini

[NDBD DEFAULT]

NoOfReplicas=2

[MYSQLD DEFAULT]

[NDB_MGMD DEFAULT]

[TCP DEFAULT]

# Managment Server

[NDB_MGMD]

HostName=172.18.3.208

# Storage Engines

[NDBD]

HostName=172.18.3.205

DataDir=/var/lib/mysql-cluster

[NDBD]

HostName=172.18.3.207

DataDir=/var/lib/mysql-cluster

[MYSQLD]

hostname=172.18.3.209

[MYSQLD]

hostname=172.18.3.210

启动管理节点 /usr/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini

数据节点 172.18.3.205

[root@localhost ~]# cat /etc/my.cnf

[mysqld]

ndbcluster

ndb-connectstring=172.18.3.208

[mysql_cluster]

ndb-connectstring=172.18.3.208

数据节点 172.18.3.208

[root@localhost test]# cat /etc/my.cnf

[mysqld]

ndbcluster

ndb-connectstring=172.18.3.208

[mysql_cluster]

ndb-connectstring=172.18.3.208

启动数据节点 /usr/local/mysql/bin/ndbd –initial

sql节点 172.18.3.209

[root@localhost data]# cat /etc/my.cnf

[mysqld]

basedir         = /usr/local/mysql/

datadir         = /usr/local/mysql/data

user            = root

port            = 3306

socket          = /tmp/mysql.sock

ndbcluster

ndb-connectstring=172.18.3.208

[MYSQL_CLUSTER]

ndb-connectstring=172.18.3.208

sql节点 172.18.3.210

[root@localhost data]# cat /etc/my.cnf

[mysqld]

basedir         = /usr/local/mysql/

datadir         = /usr/local/mysql/data

user            = root

port            = 3306

socket          = /tmp/mysql.sock

ndbcluster

ndb-connectstring=172.18.3.208

[MYSQL_CLUSTER]

ndb-connectstring=172.18.3.208

启动sql节点  /usr/local/mysql/bin/mysqld_safe –skip-grant-tables &

在管理节点 172.18.3.208  查看信息

[root@localhost mysql-cluster]# /usr/bin/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    @172.18.3.205  (Version: 4.1.22, Nodegroup: 0, Master)

id=3    @172.18.3.207  (Version: 4.1.22, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)

id=1    @172.18.3.208  (Version: 4.1.22)

[mysqld(API)]   2 node(s)

id=4    @172.18.3.209  (Version: 4.1.22)

id=5    @172.18.3.210  (Version: 4.1.22)

启动先后顺序:管理节点 数据节点 sql节点

在sql节点172.18.3.209插入如下的数据

[root# mysql -uroot test

mysql> create table city(

mysql> id mediumint unsigned not null auto_increment primary key,

mysql> name varchar(20) not null default ”

mysql> ) engine = ndbcluster default charset utf8;

mysql> insert into city values(1, ‘city1’);

mysql> insert into city values(2, ‘city2’);

在172.18.3.210上查询

root# mysql -uroot test

mysql> select * from city;

+———–+

|id | name  |

+———–+

|1  | city1 |

+———–+

|2  | city2 |

+———–+

七、安全关闭

要想关闭 Cluster,可在MGM节点所在的机器上,在Shell中简单地输入下述命令:root# /usr/local/mysql/ndb_mgm -e shutdown

运行以下命令关闭SQL节点的mysqld服务:

root# /usr/local/mysql/bin/mysqladmin -uroot shutdown

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值