MySQL Cluster

MySQL Cluster

MySQL Cluster 不支持windows
之前的说法是max版支持集群,standard版不支持,但是官方下载点里已经看不出任何关于max,standard的标志。官方网站上又说5.0版本已经包含了MySQL Cluster,所以还是下了个5.0的试试,结果是可以的。

基本的安装:
linux下官方网站的安装说明还是挺明确的,一步一步做就是了。
遇到了一个问题与这篇文章一模一样:http://www.91linux.com/html/linux_pub/fedora/20071114/8195.html
按它的方法修改之后再次

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


Starting mysqld daemon with databases from /var/lib/mysql
看到上面这一行说明启动成功。

修改密码:

bin / mysqladmin  - u root password yourpassword


允许远程访问:

bin / mysql  - u root  - p
grant all on 
* . *  to root@ " 202.11.10.253 "  Identified by  " dboomysql "

允许地址202.11.10.253上用root用户,密码dboomysql来连接mysql的所有数据库,付给所有权限。
实质上是修改了自带的database:mysql中user这一张表,与PostgreSQL需要修改配置文件相比还是方便一些。
另外就是MySQL的GUI客户端(MySQL Administrator)也比PostgreSQL的漂亮很多。

停止MySQL:
bin/mysqladmin -u root shutdown -p

安装完成后,按照这篇文章配置双机互备
http://hi.baidu.com/%CA%AB%D5%B9/blog/item/3b99dbc48140f7ca38db49f7.html
但是这篇文章有笔误:

四、初始化集群
在Server1中
# ndbd --nodeid=3 --initial
在Server2中
# ndbd --nodeid=4 --iniitial

应该改为——
四、初始化集群
在Server1中
# ndbd --ndb_nodeid=3 --initial
在Server2中
# ndbd --ndb_nodeid=4 --initial

这样的集群配置两台机器都是一样的,所以有2个管理节点,2个SQL节点,2个数据节点。集群的验证:从任何一台机器登上去操作数据都能双写。

ndb_mgm  - e show

可以看到集群节点的信息。
从官方网站上看到的例子都是用了多于3台的机器来做的集群,仅用两台来做的方法好像是大家特意这么做的。

尽管集群配置完毕,但是应用程序与数据库建立连接不能使用其中任何一台机器的真实IP,否则一旦该机器网络连接出问题还是不行,所以还是要给DB集群的机器配置虚拟IP以供外部访问。


遇到过的问题:
无法mysqld_safe启动,也找不到日志
解决方法:加启动参数以指定日志

mysqld_safe  -- log - error =/ var / log / mysqld.log

可以查看到错误日志了。

[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
没辙,google呗,好像是系统数据库mysql里host表的权限有问题什么的,而mysql这个库是之前安装时初始化过的。

解决方法:删除data,重新install_db

rm  - rf  / usr / local / mysql / data
cd 
/ usr / local / mysql
scripts
/ mysql_install_db  -- user = mysql
chown 
- R root .
chown 
- R mysql data
chgrp 
- R mysql .

 

bin / mysqld_safe  -- log - error =/ var / log / mysqld.log  -- ndb_nodeid = 5   -- user = mysql  &

启动成功了。

btw, mysql官方网的forum好像不能“平板显示”,好不方便。


关闭Cluster,在管理节点所在的机器上:
/usr/local/mysql/ndb_mgm -e shutdown
关闭SQL节点的mysqld服务:
/usr/local/mysql/bin/mysqladmin -uroot shutdown

你可能感兴趣的:(MySQL Cluster)