欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL簇集群配置安装相关

程序员文章站 2022-06-01 18:33:47
...

配置mysql簇集群的个人心得。 安装准备:1.所需软件。管理节点:MySQL-Cluster-gpl-management-7.1.9a-1.rhel5.i386.rpmMySQL-Cl

配置mysql簇集群的个人心得。

安装准备:
1.所需软件。
管理节点:
MySQL-Cluster-gpl-management-7.1.9a-1.rhel5.i386.rpm
MySQL-Cluster-gpl-tools-7.1.9a-1.rhel4.i386.rpm
sql节点:
MySQL-Cluster-gpl-server-7.1.9a-1.rhel5.i386.rpm
MySQL-Cluster-gpl-client-7.1.9a-1.rhel5.i386.rpm
存储节点:
MySQL-Cluster-gpl-storage-7.1.9a-1.rhel4.i386.rpm
2.前提条件
关闭所有集群机器的防火墙
在所有mysql集群的机器中配置/etc/hosts文件将所有机器的ip和机器名称写进去。并将所有的集群机器加到同一个组群中。
添加到mysql组中: groupadd mysql
添加用户mysql: useradd -g mysql mysql

一 安装和配置管理节点
1. 安装准备
创建文件夹:mkdir /var/lib/mysql/data表示存储节点文件夹
mkdir /var/lib/mysql-cluster表示管理节点文件夹

赋予权限:chmod -R 1777 /var/lib/mysql
chmod -R 1777 /var/lib/mysql-cluster
2. 安装管理节点软件
rpm -ivh MySQL-Cluster-gpl-management-7.1.9a-1.rhel5.i386.rpm
rpm -ivh MySQL-Cluster-gpl-tools-7.1.9a-1.rhel4.i386.rpm

3. 配置管理节点
在mysql目录下新建mysql-cluster文件夹,进入到mysql-cluster,新建config.ini

[NDBD DEFAULT]
NoOfReplicas=2 #备份,,副本,这样的话2台数据节点的数据就会同步
DataMemory=200M
IndexMemory=100M
[TCP DEFAULT]
portnumber=2202 连接端口号,与存储节点和sql节点对应
[NDB_MGMD] #管理节点
id=11
hostname=管理节点的ip地址
datadir=/var/lib/mysql-cluster
[NDBD] #数据节点
id=21
hostname=对应数据节点的IP地址
datadir=/var/lib/mysql/data
[NDBD] #数据节点
id=22
hostname=对应数据节点的IP地址
datadir=/var/lib/mysql/data
可以有多个ndbd几点,只需要在此处添加[NDBD]注册即可
[MySQLD] #sql节点
id=31
hostname=对应sql节点的ip地址
[MySQLD] #sql节点
id=32
hostname=对应sql节点的ip地址
可以有多个ndbd几点,只需要在此处添加[MySQLD]注册即可
4. 启动管理节点
ndb_mgmd -f /var/lib/mysql-cluster/config.ini
5. 管理工具
使用命令ndb_mgm进入管理控制台,输入show可以显示集群设备的连接信息。
二 安装配置ndbd节点
1. 安装软件
rpm -ivh MySQL-Cluster-gpl-storage-7.1.9a-1.rhel4.i386.rpm
2. 配置ndbd节点
在/ect/my.cnf文件中添加信息
vi /ect/my.cnf
[mysqld]
max_connections = 100 最大连接数
slow_query_log = /var/lib/mysql-cluster/slow_query.log
long_query_time = 1
datadir = /var/lib/mysql-cluster
ndbcluster
ndb-connectstring="nodeid=id,ip" 其中id为在管理节点中配置的本存储节点ip对应的id,后面的ip地址为管理节点的ip地址
[mysql_cluster]
ndb-connectstring="nodeid=id,ip" 其中id为在管理节点中配置的本存储节点ip对应的id,后面的ip地址为管理节点的ip地址
3. 启动ndbd节点
第一次启动使用命令 ndbd -initial
以后使用ndbd即可
三 安装配置sql节点
1. 安装软件
rpm -ivh MySQL-Cluster-gpl-server-7.1.9a-1.rhel5.i386.rpm
rpm -ovh MySQL-Cluster-gpl-client-7.1.9a-1.rhel5.i386.rpm
2. 配置sql节点
运行下面命令:
cp my-medium.ini /etc/my.cnf 使用 find / -name medium.cnf 查找到medium.cnf文件的位置,然后使用复制
1>my-small.ini是为了小型数据库而设计的。不应该把这个模型用于含有一些常用项目的数据库。
2>my-medium.ini是为中等规模的数据库而设计的。如果你正在企业中使用RHEL,可能会比这个操作系统的最小RAM需求(256MB)明显多得多的物理内
存。由此可见,如果有那么多RAM内存可以使用,自然可以在同一台机器上运行其它服务。
3>my-large.ini是为专用于一个SQL数据库的计算机而设计的。由于它可以为该数据库使用多达512MB的内存,所以在这种类型的系统上将需要至少
1GB 的RAM,以便它能够同时处理操作系统与数据库应用程序。
4>my-huge.ini是为企业中的数据库而设计的。这样的数据库要求专用服务器和1GB或1GB以上的RAM。
vi /etc/my.cnf
在my.cnf文件的后面添加
[MYSQLD]
basedir = /usr
datadir = /usr/local/mysql/data/
user = mysql
socket = /tmp/mysql.sock
ndbcluster
ndb-connectstring=="nodeid=id,ip" 其中id为在管理节点中配置的本存储节点ip对应的id,后面的ip地址为管理节点的ip地址
[MYSQL_CLUSTER]
ndb-connectstring=="nodeid=id,ip" 其中id为在管理节点中配置的本存储节点ip对应的id,后面的ip地址为管理节点的ip地址
3.赋予权限
创建 /usr/local/mysql/data 目录文件夹
chomd 775 /usr/local/mysql/data
赋予数据库存取权限
mysql_install_db /usr/local/mysql/data 使用find / -name mysql_install_db 查找到mysql_install_db 然后使用此命令
mysql_install_db 重新初始化mysql
4.启动mysqld
使用命令 mysqld_safe
四 测试集群
1.管理节点中输入ndb_mgm进入管理控制台,输入show,在显示的信息如下图所示,即表示所有连接正常。____________________________________________________________________
| [ndbd(NDB)] 2 node(s)
| id=21 @192.168.41.52 (mysql-5.1.51 ndb-7.1.9, Nodegroup: 0, Master)
| id=22 @192.168.41.42 (mysql-5.1.51 ndb-7.1.10, Nodegroup: 0)
|
| [ndb_mgmd(MGM)] 1 node(s)
| id=11 @192.168.41.240 (mysql-5.1.51 ndb-7.1.10)
|
| [mysqld(API)] 2 node(s)
| id=31 @192.168.41.51 (mysql-5.1.51 ndb-7.1.9)
| id=32 @192.168.41.55 (mysql-5.1.51 ndb-7.1.9)
|________________________________________________________________________
2.在sql1节点中登录mysql -u root
然后创建一个数据库 sql1test, 进入sql1test数据库创建一张表test,然后在里面添加几条数据。
3.在另一个sql节点中登录mysql -u root
查看数据库,并找到sql1test数据库,进入实用select语句查询test表中的记录,显示的记录正常。
4.断开一个ndbd数据存储节点
在sql1节点中查询test表中的记录正常。
上面描述的信息正常则集群已经搭起来了。
五 遇到的问题
1.sql节点启动失败,提示不存在 /var/lib/mysql/mysql.sock文件。
打开/etc/my.cnf修改[client]下的socket值,使得此值与[MYSQLD]下的socket值相同。
2.错误信息无法找到errmsg.sys文件。
修改[MYSQLD]下的basedir值,使用find / -name errmsg.sys查找到此文件,然后修改basedir值使其能正确的指到errmsg.sys文件。
3.使用mysql命令进入数据库控制台中,无法实现数据库的集群模式。
使用mysql -u root 登录到数据库控制台即可。
4.创建的表无法在另一个sql节点的mysql控制台中查看到。
使用命令 create table [table name] () engine=ndbcluster;创建数据库表即可实现

MySQL簇集群配置安装相关