这篇文章将为大家详细讲解有关server上如何安装mysql cluster,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
环境:
一台OS
redhat linux 5.1
RAM 2G 硬盘空间:2G
先创建mysql组和mysql用户:
groupadd mysql
useradd -g mysql mysql
下载软件:http://www.mysql.com/downloads/cluster/
[@more@]
安装:
[user1@ws2 ~]$ tar xvf Downloads/mysql-cluster-gpl-7.1.3-linux-x86_64-glibc23.tar.gz
[user1@ws2 ~]$ ln -s mysql-cluster-gpl-7.1.3-linux-x86_64-glibc23 mysqlc
将~/mysqlc/bin放到你的path环境变量下.
配置:
[user1@ws2 ~]$ mkdir my_cluster my_cluster/ndb_data my_cluster/mysqld_data my_cluster/conf
在刚建的conf目录下,创建my.cnf和config.ini两个文件,文件的内容分别为:
my.cnf:
[mysqld]
ndbcluster
datadir=/home/user1/my_cluster/mysqld_data
basedir=/home/user1/mysqlc
port=5000
config.ini:
[ndb_mgmd]
hostname=localhost
datadir=/home/user1/my_cluster/ndb_data
id=1
[ndbd default]
noofreplicas=2
datadir=/home/user1/my_cluster/ndb_data
[ndbd]
hostname=localhost
id=3
[ndbd]
hostname=localhost
id=4
[mysqld]
id=50
初始化
[user1@ws2 ~]$ cd mysqlc
[user1@ws2 mysqlc]$ scripts/mysql_install_db --no-defaults --datadir=$HOME/my_cluster/mysqld_data/
启动:
[user1@ws2 mysqlc]$ cd ../my_cluster/
[user1@ws2 my_cluster]$ $HOME/mysqlc/bin/ndb_mgmd -f conf/config.ini --initial --
configdir=$HOME/my_cluster/conf/
[user1@ws2 my_cluster]$ $HOME/mysqlc/bin/ndbd -c localhost:1186
[user1@ws2 my_cluster]$ $HOME/mysqlc/bin/ndbd -c localhost:1186
通过mysql的manager查看各个节点和数据节点的情况:
[user1@ws2 my_cluster]$ $HOME/mysqlc/bin/ndb_mgm -e show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=3 @127.0.0.1 (mysql-5.1.44 ndb-7.1.3, Nodegroup: 0, Master)
id=4 @127.0.0.1 (mysql-5.1.44 ndb-7.1.3, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @127.0.0.1 (mysql-5.1.44 ndb-7.1.3)
[mysqld(API)] 1 node(s)
id=50 (not connected, accepting connect from any host)
启动mysql数据库:
[user1@ws2 my_cluster]$ $HOME/mysqlc/bin/mysqld --defaults-file=conf/my.cnf &
安全启动mysql数据库:
mysqld_safe --defaults-file=conf/my.cnf --ledir=/mysql/mysqlc/bin
测试 :
[user1@ws2 my_cluster]$ $HOME/mysqlc/bin/mysql -h 127.0.0.1 -P 5000 -u root
mysql> create database clusterdb;use clusterdb;
mysql> create table simples (id int not null primary key) engine=ndb;
mysql> insert into simples values (1),(2),(3),(4);
mysql> select * from simples;
+----+
| id |
+----+
| 3 |
| 1 |
| 2 |
| 4 |
+----+
安全关闭:
[user1@ws2 my_cluster]$ $HOME/mysqlc/bin/mysqladmin -u root -h 127.0.0.1 -P 5000 shutdown
[user1@ws2 my_cluster]$ $HOME/mysqlc/bin/ndb_mgm -e shutdown
问题记录:
在安装好后可能在其他IP断里不能访问MySQL,访问的时候会报:
[Warning] IP address '10.11.32.185' could not be resolved: getnameinfo() returned error (code: -3).
此时是因为MySQL对外部连接进行DNS解析,
在conf/my.cnf文件内加入:
[mysqld]
skip-name-resolve
#禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间。但需要注
#意,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接#请求!
#1:去掉mysql启动参数中的skip-name-resolve ,然后jdbc连接串用ip地址和主机名均可。
#2:如果保留启动参数skip-name-resolve 的话,在jdbc连接串中只能使用IP地址的方式连接数据库。
加入以上参数后,然后再将用户赋予权限:
grant all privileges on *.* to root@"%" identified by 'qinqiang' with grant option;
这样再次登录就OK了。
关于“server上如何安装mysql cluster”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。