十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
下文内容主要给大家带来windows云服务器版搭建集群问题总结和分析,这里所讲到的知识,与书籍略有不同,都是创新互联专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。
创新互联是网站建设技术企业,为成都企业提供专业的成都做网站、成都网站建设、成都外贸网站建设,网站设计,网站制作,网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制适合企业的网站。10年品质,值得信赖!
服务器版本winsever2016 64位
MySQL-cluster-gpl-7.6.7-winx64. zip
解压mysql-cluster-gpl-7.6.7-winx64.zip,我是存储放在了D盘,并且重命名了文件夹,我这里就改成直译集群了,mysqlCluster。
注意:解压后文件目录下是不包含data,db文件夹和文件config.ini&my.ini的。
是我后来自己创建的。
先说配置文件:
config.ini 用于配置管理节点 数据节点 SQL节点,下面直接贴文本便于复制:
[ndbd default]
NoOfReplicas=2
MaxNoOfTables=1024
MaxNoOfUniqueHashIndexes=1024
MaxNoOfOrderedIndexes=1024
MaxNoOfAttributes=10000
[ndb_mgmd]
NodeId=1
HostName=192.168.101.31
DataDir=D:\mysqlCluster\data
[ndbd]
NodeId=21
HostName=192.168.101.31
DataDir=D:\mysqlCluster\data
[ndbd]
NodeId=22
HostName=192.168.101.30
DataDir=D:\mysqlCluster\data
[mysqld]
NodeId=11
HostName=192.168.101.31
[mysqld]
NodeId=12
HostName=192.168.101.30
my.ini Mysql配置文件
[mysqld]
character_set_server=utf8
basedir="D:\mysqlCluster"
datadir="D:\mysqlCluster\db"
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
ndbcluster
ndb-connectstring=192.168.101.31
explicit_defaults_for_timestamp=true
event_scheduler=on
[mysql_cluster]
ndb-connectstring=192.168.101.31
因为我设计的数据库是存在定时执行事件的,所以特别写了下面这一行
event_scheduler=on
简单的介绍一下,我只有两台机器,分别为192.168.101.31和192.168.101.30
其中192.168.101.31既做管理节点又做数据节点。
首先处理192.168.101.31服务器
在其D:\mysqlCluster目录下存储config.ini和my.ini文件。
创建data和db文件夹
其次处理192.168.101.30服务器
在其D:\mysqlCluster目录下存储my.ini文件即可。
创建data和db文件夹
文件和目录准备好之后就要开启集群了。
顺序是 管理节点→数据节点→SQL节点。
在192.168.101.31服务器用管理员身份打开cmd,跳转到集群目录,
Microsoft Windows [版本 10.0.14393]
(c) 2016 Microsoft Corporation。保留所有权利。
C:\Windows\system32>cd ..
C:\Windows>cd ..
C:\>D:
D:\>cd mysqlCluster\bin
执行
ndb_mgmd.exe --config-file="D:\mysqlCluster\config.ini" --configdir="D:\mysqlCluster"
启动数据节点比较简单,再打开一个cmd窗口,跳转目录
Microsoft Windows [版本 10.0.14393]
(c) 2016 Microsoft Corporation。保留所有权利。
C:\Windows\system32>cd ..
C:\Windows>cd ..
C:\>D:
D:\>cd mysqlCluster\bin
执行
ndbd.exe --initial
启动SQL节点需要做的多一些,可能出错的地方也较多。
依旧要跳转到目录D:\>cd mysqlCluster\bin,然后执行初始化
mysqld --initialize --datadir=D:\mysqlCluster\db
如果不指定datadir会报错。
初始化Mysql数据库之后,要注册Mysql服务。
mysqld --install Mysql 这里我的服务名就叫Mysql了。
net start Mysql 启动服务,Mysql 就是上一行注册的名称。
开启SQL节点就简单了,跳转到D:\>cd mysqlCluster\bin目录,执行mysqld。
接下来处理192.168.101.30服务器,因为其不是管理节点所以少点操作。
按照上述数据节点和SQL节点的启动方式来就可以了。
**很多人可能是直接关闭服务器的放火墙,我是开放的3306和1186端口。
测试各个节点的情况如下:
******
mysql数据库在5.7版本后初次使用时root账号的密码是随机生成的,所以我们可能还需要做点事。
首先打开一个cmd窗口,执行mysqld --skip-grant-tables进入安全模式
再次打开一个cmd窗口,直接输入mysql跳过权限验证连接数据库。
update mysql.user set authentication_string=password('root') where user='root';
flush privileges;
quit
关闭所有命令提示符窗口,使用命令(taskkill /f /im mysqld.exe;)结束进程或者在任务管理器里结束 mysqld.exe 进程。重启 MySQL 服务,之后使用 root 账号和新密码。
比如说还出现了这个错误:
1045 -Access denied for user'root'@'192.168.101.30'(using password :yes)
这个原因是没有开放访问权限。
步骤如下:
1、D:/mysqlcluster/bin/>mysql -h localhost -u root -p
输入密码后登入mysql服务器
2、mysql>grant all privileges on *.* to 'root'@'%' with grant option;
任何主机访问数据的权限
3、mysql>flush privileges;
修改生效
4、mysql>quit
退出mysql服务器
对于以上关于windows云服务器版搭建集群问题总结和分析,如果大家还有更多需要了解的可以持续关注我们创新互联的行业推新,如需获取专业解答,可在官网联系售前售后的,希望该文章可给大家带来一定的知识更新。