文件格式:mysql-noinstall-version-win32.zip
在安装之前,请下载mysql-noinstall-5.1.31-win32.zip和mysql-noinstall-5.0.77-win32.zip这两个文件。由于MySQL一直在升级,所以当阅读本文时,或许在其官方网站上已提供了新的正式版下载,因此,请进入MySQL下载页面查找当前的最新可用版本。另外,在下载过程中,会提示需要注册为网络用户,这是一个很简短的过程,它需要提供一个有效的email地址。当然,如果不注册的话,也可以跳过此步,直接下载既可。
2、解压缩并放置到期望的目录下 (建议放置在不包含空格的目录下,如E:\mysql )为了方便,修改解压缩后的文件夹名为mysql,并放置在C:\mysql (因为是配置文件里默认的路径。)
将下载后的mysql-noinstall-5.0.77-win32.zip解压到%MySQL_HOME%(此处%MySQL_HOME%表示MySQL的安装路径,如将其解压至E:\dev\,为了方便,修改解压缩后的文件夹名为mysql-5.1.31)。另外,为了便于日后备份和升级,最好把安装文件中的data目录存放在其它地方。此处,在E盘新建一个目录"MySQL5.1Data",然后把"E:\dev\mysql-5.1.31"目录下的"data"子目录剪切到"E:\MySQL5.1Data"目录中。
3、创建一个配置文件
对于服务器每次启动都用到的选项和对MySQL服务的一些设置,你会发现使用配置文件来指定MySQL配置非常方便。 MySQL配置文件,一般放在Windows系统目录中,如C:\WINDOWS 或C:\WINNT ,名为my.ini 。但是,此处我们是安装两个MySQL,因此将其放在MySQL解压缩后的文件夹中。在该文件夹中,一般包含5个MySQL自带的配置文件,my-small.ini、my-medium.ini、my-large.ini、my-huge.ini和my-innodb-heavy-4G.ini,请你根据自己机器的内存大小,选择其一,并把它重新命名为my.ini用作基本配置文件。
配置文件中的一些参数,需要根据安装目录的不同,做相应的修改,如
[WinMySQLAdmin]
Server=E:/dev/mysql-5.1.31/bin/mysqld.exe
[mysqld]
basedir=E:/dev/mysql-5.1.31
datadir=E:/MySQL5.1Data/data
default-character-set=gbk
port=3306
[client]
default-character-set=gbk
port=3306
4、将MySQL加入到Windows 的服务中
打开MS-DOS窗口,进入DOS环境,切换到"%MySQL_HOME%\bin"目录
运行: %MySQL_HOME%\bin>mysqld --install mysql5.1
(此时,在运行中输入"services.msc"或者打开"控制面板"->"管理工具"->"服务",可以看到服务列表中存在"MySQL5.1"服务。如果不希望它自动运行,也可以改为手动,这样,当你不用它的时候,也可以节省内存。)
5、启动和停止MySQL服务
%MySQL_HOME%\bin>net start mysql
或者进入DOS环境,进入如下目录运行:%MySQL_HOME%\bin\mysqld.exe
(或直接双击mysqld.exe文件),即可启动MySQL服务
%MySQL_HOME%\bin>net stop mysql(停止MySQL服务)
注:如果要卸载MySQL服务,请运行%MySQL_HOME%\bin>mysqld --remove
(如果你不再需要MySQL了,请先停掉MySQL的服务,然后再把MySQL的服务卸载掉,最后删除MySQL安装目录即可。)
6、进入MySQL。
%MySQL_HOME%\bin\mysql -uroot -p (密码为空)
(如果出现ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)提示,表示MySQL服务没有被启动,其主要的原因在于,配置文件写的不对。
如果出现ERROR 1045 (28000): Access denied for user [email=]'root'@'localhost'[/email] (using password: NO)提示,表示MySQL服务已经启动,但是你所输入的密码不正确。
如果出现1067的错误:A system error has occurred.System error 1067 has occurred.The process terminated unexpectedly.提示,无法启动MySQL服务,进程意外终止,表示你的配置文件有问题,请检查my.ini里面的路劲是否写错了或者试着删除MySQL5.1Data文件中的LOG文件。)
mysql>select version()(显示目前你所安装的MySQL的数据库版本信息)
如果上面的所有 *** 作步骤均正常的话,那么恭喜你,你已安装好了MySQL 5.1,下面我们继续安装MySQL 5.0.
(二)安装MySQL 5.0
安装MySQL 5.0的步骤与安装MySQL 5.1的步骤类似,其中,有两个需要注意的地方为,
(1)在创建MySQL 5.0的配置文件时,port要设置成非3306(如3307等)端口。
(2)将MySQL加入到Windows 的服务中:
打开MS-DOS窗口,进入DOS环境,切换到"%MySQL_HOME%\bin"目录
运行:%MySQL_HOME%\bin>mysqld-nt --install mysql5.0
注意:mysqld(或mysqld.exe)是 MySQL server数据库服务器的相关程序,而mysqld-nt(或mysqld-nt.exe)是MySQL Daemon数据库服务的相关程序,在MySQL 5.1(此处的版本为5.1.31)中仅有mysqld(或mysqld.exe),在MySQL 5.0(此处的版本为5.0.77)中,这两者都有。
首先,纠正一下,mysql只是一个数据库软件,安装在windows还是linux *** 作系统上,连接方法一致,下面介绍windows下如何连接mysql数据库。一、本机mysql的连接方式:1.按快捷键win+R键来进入运行,并输入cmd,点击确定
2.键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。
3.如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql>
二、远程mysql的连接方式
假设远程主机的IP为:111.111.111.111,用户名为root,密码为mysql123。则键入以下命令: mysql -h111.111.111.111 -uroot -p在提示符下输入密码mysql123,连接成功。
MySQL 群集是一种技术,该技术允许在无共享的系统中部署“内存中”和“磁盘中”数据库的 Cluster 。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括 MySQL 服务器,NDB Cluster 的数据节点,管理服务器,以及(可能存在的)专门的数据访问程序。管理服务器(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 系列版本之一,添加了群集的功能。下载地址为:http://dev.mysql.com/downloads/cluster,选择 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 存储引擎将自动生成隐含的主键。该隐含的键也将占用空间,就像任何其他的表索引一样。由于没有足够的内存来容纳这些自动创建的键,出现问题并不罕见。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)