怎么启动集群mysql,开启集群的命令

如何在Windows系统中配置Mysql群集

MySQL 群集是一种技术,该技术允许在无共享的系统中部署“内存中”和“磁盘中”数据库的 Cluster 。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括 MySQL 服务器,NDB Cluster 的数据节点,管理服务器,以及(可能存在的)专门的数据访问程序。

创新互联建站是少有的网站设计、网站制作、营销型企业网站、成都小程序开发、手机APP,开发、制作、设计、卖友情链接、推广优化一站式服务网络公司,于2013年创立,坚持透明化,价格低,无套路经营理念。让网页惊喜每一位访客多年来深受用户好评

管理服务器(MGM节点)负责管理 Cluster 配置文件和 Cluster 日志。Cluster 中的每个节点从管理服务器检索配置数据。当数据节点内出现新的事件时,节点将关于这类事件的信息传输到管理服务器,然后,将这类信息写入 Cluster 日志。

目前能够运行 MySQL Cluster 的操作系统有 Linux、Mac OS X 和 Solaris,最新的版本已经支持 Windows 操作系统。

MySQL 群集的数据节点之间的通信是不加密的,并且需要高速的带宽,所以建议把群集建立在一个高速局域网内,不建议跨网段、跨公网的部署这种系统体系。

MySQL 群集分为三种节点:管理节点,数据节点和SQL节点。

管理节点:主要用于管理各个节点,能够通过命令对某个节点进行重启、关闭、启动等操作。也能够监视全部节点的工作状态。

数据节点:主要是对数据的存储,不提供其他的服务。

SQL节点:主要是对外提供SQL功能,类似一台普通的 MySQL Server。

而SQL节点和数据节点可以是同一台机器,也就是说这台机器即是SQL节点也是数据节点。它们只是逻辑关系上的划分,实际部署时,甚至所有的阶段都可以位于同一台物理机器上,只是配置较复杂些。

一、软件下载机器操作环境

配置 MySQL 群集必需使用其群集版本,注意和 MySQL Server 版本的区别。本文以 Windows 平台下的 MySQL 群集版本 MySQL Cluster 7.1.3 为例(截至2010年6月初的最高版本),这是 MySQL Server 5.1 系列版本之一,添加了群集的功能。下载地址为:,选择 mysql-cluster-gpl-noinstall-7.1.3-win32.zip 文件,这是一个 for Windows 32位版本的、免安装的二进制版本。

根据自己的操作系统的位数,也可以选择 64 位版本的。还有一个 27.2M 的 Windows(x86, 32-bit) 版本,下载下来需要自己编译,有经验的高级用户可以选用。

本实验在 2 台安装 Windows Server 2003(sp2) 的机器上进行。节点分配及 IP 配置如下:

第一台机器,IP 为 10.0.0.201,作为管理节点(MGM),SQL节点1(SQL1),数据节点1(NDBD1)。

第二台机器,IP 为 10.0.0.202,作为SQL节点2(SQL2),数据节点2(NDBD2)。

管理节点最好不要与数据节点部署在同一台服务器上,否则可能会因为该数据节点服务器的当机,而导致管理节点服务器的问题,从而导致整个群集系统的崩溃。

二,配置管理节点:

在第一台机器上,建文件夹 D:\mysql-cluster,在其下建立文件 config.ini,内容如下:

[NDBD DEFAULT]

NoOfReplicas=1

[MYSQLD DEFAULT]

[NDB_MGMD DEFAULT]

[TCP DEFAULT]

# Managment Server

[NDB_MGMD]

hostname=10.0.0.201

# Storage Engines

[NDBD]

hostname=10.0.0.201

datadir= D:\data

[NDBD]

hostname=10.0.0.202

datadir= D:\data

# SQL Engines

[MYSQLD]

hostname=10.0.0.201

[MYSQLD]

hostname=10.0.0.202

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

Cluster 管理节点作为一个服务端(通过运行 db_mgmd.exe 程序读取本配置文件来启动),通过本机上的客户端 ndb_mgm.exe 来连接和操作。

三、配置 MySQL 数据库服务器:

在2台机器上,分别依次操作。

解压 mysql-cluster-gpl-noinstall-7.1.3-win32.zip 文件到 D:\mysql-cluster-gpl-noinstall-7.1.3-win32 文件夹下,把 D:\mysql-cluster-gpl-noinstall-7.1.3-win32\bin 加到 Windows 的系统 path 中。

打开DOS命令行窗口(配置完系统path后,在再次打开新的命令行窗口),执行以下语句,让 MySQL 作为 Windows 服务运行:

mysqld.exe -install mysql

再在 Windows 服务管理界面里,配置 mysql 服务,手动启动(不要自动启动)。

把 D:\mysql-cluster-gpl-noinstall-7.1.3-win32 下的某个备用的配置文件(例如my-small.ini)复制为 my.ini 文件。

建立 D:\tmp 文件夹。

四、配置SQL节点和数据节点:

在2台机器上,分别依次操作。

建立文件夹 D:\data。

编辑 NySQL 配置文件 D:\mysql-cluster-gpl-noinstall-7.1.3-win32\my.ini,在 [mysqld] 节末尾加语句:

#SQL群集节点

ndbcluster

ndb-connectstring=10.0.0.201

有了 ndbcluster 语句,mysql 服务将作为群集的 SQL 节点启动。mysqld.exe 命令带参数 –ndbcluster 运行是一样的效果。

mysql 服务连接到数据节点的 2202 默认端口,或自动分配的别的可用端口。

(问题:SQL节点如何获得数据节点的IP地址?是否通过连接管理节点,取得所有数据节点的IP地址的列表?)

这里的连接字符串的值在 MySQL 服务启动时使用,用于连接到管理节点。

在末尾加语句:

#NDB集群节点

[mysql_cluster]

ndb-connectstring=10.0.0.201

注:好像以下形式也可:

[ndbd]

ndb-connectstring=10.0.0.201

这里的连接字符串的值在数据节点启动时使用,用于连接到管理节点。

五,启动群集各服务器

启动顺序依次是:管理节点、数据节点、SQL节点。

1,启动管理节点

在第一台服务器的DOS窗口,运行命令:

C:\ndb_mgmd.exe -f d:\mysql-cluster.conf\config.ini –configdir=d:\mysql-cluster

注:如果不带 –configdir=d:\mysql-cluster 参数,将默认为 C:\mysql\mysql-cluster 文件夹。

屏幕显示:

C:\ndb_mgmd.exe -f d:\mysql-cluster.conf\config.ini –configdir=d:\mysql-cluster

2010-06-10 01:16:57 [MgmtSrvr] INFO — NDB Cluster Management Server. mysql-5.1.44 ndb-7.1.3

2010-06-10 01:16:57 [MgmtSrvr] INFO — Reading cluster configuration from ‘d:\mysql-cluster.conf\config.ini'

2010-06-10 01:16:57 [MgmtSrvr] INFO — Got initial configuration from ‘d:\mysql-cluster.conf\config.ini', will try to set it when all ndb_mgmd(s) started

2010-06-10 01:16:57 [MgmtSrvr] INFO — Mgmt server state: nodeid 1 reserved for ip 10.0.0.201, m_reserved_nodes 1.

2010-06-10 01:16:57 [MgmtSrvr] INFO — Id: 1, Command port: *:1186

==INITIAL==

2010-06-10 01:16:57 [MgmtSrvr] INFO — Starting initial configuration change

2010-06-10 01:16:57 [MgmtSrvr] INFO — Configuration 1 commited

2010-06-10 01:16:57 [MgmtSrvr] INFO — Config change completed! New generation: 1

==CONFIRMED==

2,启动数据节点

分别在2台服务器的DOS窗口运行命令。

第一次,或初始化群集节点时,运行命令:

ndbd.exe –initial

初始化之后,只运行 ndbd.exe 即可。若带参数 –initial 运行,将使正常运行的群集系统中,数据节点的数据全部丢失。

数据节点依赖管理节点服务器,进行数据的自动复制和同步,使各个数据节点的数据保持一致,并在某个数据节点意外关闭又恢复后,进行数据的恢复重建。

3,启动SQL节点

有了 ndbcluster 语句,启动 mysql 服务,就启动了SQL节点。应在前2种节点启动后,分别在2台服务器上进行。

六、群集管理

在所有的数据节点和SQL节点未启动之前,运行群集管理节点服务的客户端 ndb_mgm.exe,只能获得以下信息:

C:\ndb_mgm.exe

— NDB Cluster — Management Client –

ndb_mgm show

Cluster Configuration

———————

[ndbd(NDB)] 2 node(s)

id=2 (not connected, accepting connect from 10.0.0.201)

id=3 (not connected, accepting connect from 10.0.0.202)

[ndb_mgmd(MGM)] 1 node(s)

id=1 @10.0.0.201 (mysql-5.1.44 ndb-7.1.3)

[mysqld(API)] 2 node(s)

id=4 (not connected, accepting connect from 10.0.0.201)

id=5 (not connected, accepting connect from 10.0.0.202)

ndb_mgm

说明数据节点、SQL节点均未连接到管理节点服务。

在所有的数据节点和SQL节点正确启动之后,将获得以下信息:

ndb_mgm show

Cluster Configuration

———————

[ndbd(NDB)] 2 node(s)

id=2 @10.0.0.201 (mysql-5.1.44 ndb-7.1.3, Nodegroup: 0, Master)

id=3 @10.0.0.202 (mysql-5.1.44 ndb-7.1.3, Nodegroup: 1)

[ndb_mgmd(MGM)] 1 node(s)

id=1 @10.0.0.201 (mysql-5.1.44 ndb-7.1.3)

[mysqld(API)] 2 node(s)

id=4 @10.0.0.201 (mysql-5.1.44 ndb-7.1.3)

id=5 @10.0.0.202 (mysql-5.1.44 ndb-7.1.3)

ndb_mgm

关闭群集的DOS命令:

ndb_mgm -e shutdown

或在 ndb_mgm 环境下执行 shutdown 命令。

以上命令或关闭管理节点服务和所有的数据节点。随意、强行关闭群集系统(关机或关闭进程),会导致数据没有全部写回磁盘而导致的数据丢失。

关闭SQL节点的 mysqld 服务:

C:\net stop mysql,或:

C:\mysqladmin -u root shutdown

七、测试

正常运行的 MySQL 群集系统,通过SQL节点可以对数据节点进行数据库操作,各数据节点可以自动进行数据同步。某一个数据节点关闭后,不影响SQL节点的使用。某些数据节点出错后,可以进行恢复。需要注意的是,SQL节点建立数据库时,必须选择“ndbcluster”数据库引擎。如果不选择“ndbcluster”引擎,建立的数据库将不会进入MySQL群集系统中,但是可以独立使用。

另外,每个 NDB 表必须有一个主键。如果在创建表时未定义主键,NDB Cluster 存储引擎将自动生成隐含的主键。该隐含的键也将占用空间,就像任何其他的表索引一样。由于没有足够的内存来容纳这些自动创建的键,出现问题并不罕见。

如何让MySQL数据库集群自主运行

使用mysql的基本命令(在mysql命令行编辑每输入完命令后最后一定要有分号,不然会报错)

显示数据库:show databases;

使用数据库:use 数据库名;建库

命令:create database shujuku(数据库名);

5.为数据库设置权限(用户和密码)

命令:grant all privileges on shujuku.* to test@localhost

identified by “123456”;

当你执行完这个命令以后,只要你再以用户名:test,密码:123456登录时你就只可以对shujuku这个数据库操作,这样避开使用root,对数据库的安全有很大帮助.6.建表

命令:create table biao(id int(8) primary key,name

varchar(10));

剩下来的与标准sqsl命令基本上是一样的,具体操作略

值得一提的是,你在命令行上输入"?",就会有mysql命令的简单帮助,如下:

呵呵,那样,我们还可以知道退出,就是"exit",呵呵!

关于mysql-front的使用

我找了好几个mysql的界面工具,觉得最简洁方便还是mysql-front,可惜的是要收费,不过还好有试用期,呵呵,可以先感受感受一下,最重要一点是mysql-front有简体中文版的,英文不好的我用起来就舒服多了.下面简单说说使用吧.

首先,安装就不用说了,有向导,而且很简单.安装好后第一次运行时会跳出来一个要求添加对话的框,在这里你可以添加例如上面已经设定好的shujuku,过程如下:

当你在注册的复选框里填上你在上面mysql设定好的用户名和密码后,在选择数据库框里就有shujuku

的数据库了,选上,按确定.进入mysql-fron后,你就会看到下面的界面,这是你就可以进行操作了.

要说明的是,你还可以把root用户也加进去,这要你在mysql-fron的界面上选设置->对话->新建,再按上面进行就可以,出了root你还可以加入更多的用户,方法还是一样的,设置不同的用户,是方便对不同数据库进行管理,呵呵,root是权限最高的,可不要随便让别人使用你的root用户,保正你数据库的安全.

希望这篇文章的你有帮助!

如何配置MySQL集群在一台服务器

-+-+-+-+-+-+-+-+-+-+-+-

-+-+mysql的主从配置+-+-

-+-+-+-+-+-+-+-+-+-+-+-

#############################################################################

常用命令

1.安装一个mysqld服务

mysqld  install  

2.开启mysql服务        关闭mysql服务  

net start mysql      net stop mysql

2.开启一个 mysql 的 3307端口

命令行 进入解压目录\bin目录下

解压目录\bin mysql -uroot  -p  -P3307 -h127.0.0.1

-u 用户名

-p密码

-P端口

-h网址

#启动从库

Start slave

#停止从库

Stop slave

#############################################################################

开始

用一台电脑测试

先在本电脑上安装一个mysql(集成的也行)

解压文件

然后解压另一个mysql到电脑目录

》》》》》1.

在解压目录创建一个mysql.ini

把一下文档写进去配置一个端口号为3307

#mysqld

[mysqld]

port=3307

basedir=D:\mysqlsever         #D:\mysqlsever 改成你解压目录

datadir=D:\mysqlsever\data    #D:\mysqlsever 改成你解压目录

安装一个mysqld服务    mysqld  install

开启mysql服务         net start mysql

不能正常启动请查看配置

》》》》2.

#主库3306

在命令行或者

grant 权限 on 数据库对象 to 用户

GRANT all privileges REPLICATION SLAVE,RELOAD,SUPER ON *.*

TO mysql_backup1@'*'

IDENTIFIED BY '123456'with grant option;

flush privileges;

》》》3.

在主库运行   SHOW MASTER STATUS       //运行后查看File和Postion

如  File mysql-bin.000002   Postion 120

在从库运行  

CHANGE MASTER TO master_host = '127.0.0.1',

master_user = 'mysql_backup',

master_password = '123456',

master_log_file = 'mysql-bin.000001',#看上面的File  从库对照主库写

master_log_pos = 4791;#看上面的Postion    从库对照主库写

如果报错就停止就重新运行

#启动从库

Start slave

#停止从库

Stop slave

在从库运行  Show slave status

Slave_IO_Running

Slave_SQL_Running

两个字段全部是是Yes基本上就成功了

测试

在主库上建立一个表  在从库上刷新

############################################################################

如何组建MySQL集群

一个最简单的MySQL集群通常是一主一从的架构(Master-Slave)

MySQL自带有主从同步的功能

主要步骤如下:

在主库上创建一个同步账号

GRANT SELECT,REPLICATION SLAVE ON *.* TO user@'%' IDENTIFIED BY'123456'

在从库上设置主库

change master to master_host='主库IP',master_port=主库端口,master_user='user',master_password='123456',master_auto_position=1;(mysql5.6以上)

change master to master_host='主库IP',master_port=主库端口,master_user='user',master_password='123456',MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=0,

在从库上启动同步线程

start slave;

复杂的集群通常通过第三方软件,比如刚刚GA的MySQL官方高可用MGR


网页标题:怎么启动集群mysql,开启集群的命令
转载来源:http://azwzsj.com/article/hdcjpo.html