【集群环境】
管理节点 10.0.0.19
数据节点 10.0.0.12
10.0.0.17
sql节点 10.0.0.18
2. 安装mysql-cluster 7.3.5-linux
以上步骤5台机器都要运行
拷贝ndb_mgm、ndb_mgmd到bin文件夹。
备注: 管理节点仅仅要ndb_mgm和ndb_mgmd两个文件和一个配置文件就可以。
因此把这三个文件拷贝到那里。那里就是管理节点了。
ndb_mgmd是mysql cluster管理server,ndb_mgm是client管理工具。
(2) 数据节点
安装后第一次启动数据节点时要加上--initial參数。其他时候不要加,除非是在备份、恢复或配置变化后重新启动时
错误解决的方法: 1. can't connect to local MySQL server through socket '/tmp/mysql.sock'
ln -s /var/mysql/mysql.soc /tmp
管理节点 10.0.0.19
数据节点 10.0.0.12
10.0.0.17
sql节点 10.0.0.18
10.0.0.22
1. 加入mysql用户
# groupadd mysql # useradd mysql -g mysql
2. 安装mysql-cluster 7.3.5-linux
# cd /usr/local/src/(已下载好集群版) # tar -xvf mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64.tar.gz # mv mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64 ../mysql # cd .. # chown -R mysql:mysql mysql/ # cd mysql # scripts/mysql_install_db --user=mysql
以上步骤5台机器都要运行
3. 集群配置
(1) 管理节点
# vi /var/lib/mysql-cluster/config.ini (文件夹和文件没有请新建。加入下面内容)
[NDBD DEFAULT] NoOfReplicas=2 [TCP DEFAULT] portnumber=3306 [NDB_MGMD] #设置管理节点server nodeid=1 HostName=10.0.0.19 DataDir=/var/mysql/data [NDBD] id=2 HostName=10.0.0.12 DataDir=/var/mysql/data [NDBD] id=3 HostName=10.0.0.17 DataDir=/var/mysql/data [MYSQLD] id=4 HostName=10.0.0.18 [MYSQLD] id=5 HostName=10.0.0.22 #必须有空的mysqld节点,不然数据节点断开后启动有报错 [MYSQLD] id=6 [mysqld] id=7
拷贝ndb_mgm、ndb_mgmd到bin文件夹。
# cd /usr/local/mysql/bin # cp ./ndb_mgm /usr/local/bin/ # cp ./ndb_mgmd /usr/local/bin/
备注: 管理节点仅仅要ndb_mgm和ndb_mgmd两个文件和一个配置文件就可以。
因此把这三个文件拷贝到那里。那里就是管理节点了。
ndb_mgmd是mysql cluster管理server,ndb_mgm是client管理工具。
启动管理节点
# ndb_mgmd -f /var/lib/mysql-cluster/config.ini关闭管理节点
# ndb_mgm>shutdown
备注:命令行中的ndb_mgmd是mysql cluster的管理server。后面的-f表示后面的參数是启动的參数配置文件。
假设在启动后过了几天又加入了一个数据节点,这时改动了配置文件启动时就必须加上--initial參数。不然加入的节点不会作用在mysql cluster中。
# ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
# ndb_mgm这时就进入到client。能够对mysql cluster进行各项操作。
# ndb_mgm> show 查看各节点情况。# ndb_mgm> all report memory 查看各数据节点使用情况 # ndb_mgm>create nodegroup 3;创建数据节点分组 # mysql> alter online table data_house reorganize partition; 调整分区数据
(2) 数据节点
# vi /etc/my.cnf (加入下面内容)
[mysqld] datadir=/var/mysql/data socket=/var/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 #执行NDB存储引擎 ndbcluster #指定管理节点 ndb-connectstring=10.0.0.19 [MYSQL_CLUSTER] ndb-connectstring=10.0.0.19 [NDB_MGM] connect-string=10.0.0.19 [mysqld_safe] log-error=/var/mysql/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
安装后第一次启动数据节点时要加上--initial參数。其他时候不要加,除非是在备份、恢复或配置变化后重新启动时
# /usr/local/mysql/bin/ndbd --initial 正常启动 # /usr/local/mysql/bin/ndbd(3) sql节点
# cd /usr/local/mysql/设置mysql服务为开机自启动
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld # chmod +x /etc/rc.d/init.d/mysqld # chkconfig --add mysqld
# vi /etc/my.cnf (加入下面内容)
[mysqld] server-id=4#每一个服务器的id不一样 datadir=/var/mysql/data socket=/var/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 log-bin = /var/mysql/log/mysql-bin.log max_connections=1000 #下面为mysql 主主模式的配置文件 # 忽略mysql数据库复制 binlog-ignore-db=mysql # 每次增长2 auto-increment-increment = 2 # 设置自己主动增长的字段的偏移量,即初始值为2 auto-increment-offset = 1 [mysqld_safe] log-error=/var/mysql/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [MYSQLD] ndbcluster ndb-connectstring=10.0.0.19 [MYSQL_CLUSTER] ndb-connectstring=10.0.0.19 [NDB_MGM] connect-string=10.0.0.19
#service mysqld start
错误解决的方法: 1. can't connect to local MySQL server through socket '/tmp/mysql.sock'
ln -s /var/mysql/mysql.soc /tmp
mysql集群的启动顺序为:管理节点->数据节点->SQL节点
mysql集群的关闭顺序为,管理节点->数据节点->SQL节点