mysql集群安装、配置

来源:互联网 发布:杭州百替生物数据造假 编辑:程序博客网 时间:2024/06/05 20:55

MySQL Cluster 是MySQL适合于分布式计算环境的高实用、高冗余版本。它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器。在MyQL 5.0及以上的二进制版本中、以及与最新的Linux版本兼容的RPM中提供了该存储引擎。

要想获得MySQL Cluster 的功能,必须安装 mysql-server 和 mysql-max RPM。Standard版本不支持集群部署。

 

 

1.管理节点(192.168.1.200):

# tar zxf mysql-max-5.1.5-alpha-linux-x86_64-glibc23.tar.gz

# cd mysql-max-5.1.5-alpha-linux-x86_64-glibc23

# mv bin/ndb_mgm* /usr/bin/    (获得两个可执行文件ndb_mgmndb_mgmd

 

    配置管理节点:

    # 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=192.168.1.200

    # Storage Engines

    [NDBD]

    HostName=192.168.1.201

    DataDir=/var/lib/mysql-cluster

    [NDBD]

    HostName=192.168.1.202

    DataDir=/var/lib/mysql-cluster

    [MYSQLD]

    [MYSQLD]

 

启动管理节点服务器:

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

 

2.数据节点(192.168.1.201,192.168.1.202)和sql节点(192.168.1.201,192.168.1.202):

# cd /usr/local/

# groupadd mysql

# useradd -g mysql mysql

# tar zxf mysql-max-5.1.5-alpha-linux-x86_64-glibc23.tar.gz

# mv mysql-max-5.1.5-alpha-linux-x86_64-glibc23 mysql

# cd mysql

# scripts/mysql_install_db --user=mysql

# chown -R root .

# chown -R mysql data

# chgrp -R mysql .

 

配置集群服务器并启动MySQL :

在数据节点和SQL节点中都需要进行如下改动:

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

[mysqld]

ndbcluster

ndb-connectstring=192.168.1.200

[mysql_cluster]

ndb-connectstring=192.168.1.200

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

# mkdir /var/lib/mysql-cluster

# cd /var/lib/mysql-cluster

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

 

仅应在首次启动ndbd时,或在备份/恢复数据或配置文件发生变化后重启ndbd时使用“--initial”参数。因为该参数会使节点删除由

早期ndbd实例创建的、用于恢复的任何文件,包括用于恢复的日志文件。

如果不是第一次启动,无需加“--initial”参数。

 

/usr/local/mysql/bin/mysqld_safe --user=mysql &

mysqld无法正常启动,查看日志,报错如下:

    mysqld started

    InnoDB: Started; log sequence number 0 43634

    [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

    mysqld ended

 

解决办法:

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

 

  在管理节点上进行检测

    #ndb_mgm

    ndb_mgm>show

 

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

 

设置开机启动:

# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

# chmod +x /etc/rc.d/init.d/mysqld

# chkconfig --add mysqld

 

3.集群环境启动后,在sql节点登入mysql数据库,创建表进行检测

# /usr/local/mysql/bin/mysql   (未更改root密码)

以下操作参照mysql的正常操作

 

 参考:http://linux.chinaunix.net/techdoc/database/2008/08/06/1023805.shtml


 



原创粉丝点击