CentOS中mysql cluster安装部署教程

 更新时间:2016年11月06日 11:58:35   投稿:hebedich  
这篇文章主要介绍了在CentOS 6.3系统上搭建MySQL Cluster 7.2.25集群的相关资料,需要的朋友可以参考下。

一、安装要求

安装环境:CentOS-6.5-32bit

软件名称:mysql-cluster-gpl-7.2.25-linux2.6-i686.tar.gz

下载地址:http://mysql.mirror.kangaroot.net/Downloads/

软件包:mysql-cluster-gpl-7.2.25-linux2.6-i686.tar.gz

软件包存放目录:/usr/local

管理节点(MGM): 192.168.1.71

数据节点1(NDBD1):192.168.1.72

数据节点2(NDBD2):192.168.1.73

sql节点1(SQL1): 192.168.1.74

sql节点2(SQL2): 192.168.1.75

二、安装部署

1.安装前:(所有节点服务器需执行)

[root@MGM ]#rpm -qa|grep mysql* (查询系统中存在的mysql)

[root@MGM ]#rpm -e –nodeps mysql-libs-5.1.71-1.el6.i686 (根据自己查出来的mysql版本)

2.开始部署:(所有节点服务器需执行)

[root@MGM ]#groupadd mysql

[root@MGM ]#useradd mysql -g mysql

[root@MGM ]#cd /usr/local (软件包在此目录下,根据自己存放位置进入)

[root@MGM local]#tar -xvfmysql-cluster-gpl-7.2.25-linux2.6-i686.tar.gz

[root@MGM local]#mkdir /usr/local/mysql (创建mysql目录)

[root@MGM local]#mvmysql-cluster-gpl-7.2.25-linux2.6-i686/* mysql

[root@MGM local]#chown -R mysql:mysql mysql/

[root@MGM local]#cd mysql

[root@MGM mysql]#scripts/mysql_install_db –user=mysql (管理及数据节点执行这条命令)

#scripts/mysql_install_db –user=mysql –datadir=/var/mysql/data (sql节点执行这条命令)

1.jpg

三、集群配置

1.管理节点配置:

[root@MGM mysql]#mkdir /var/lib/mysql-cluster

[root@MGM ]#mkdir /var/mysql

[root@MGM ]#mkdir /var/mysql/data

[root@MGM ]#mkdit /var/mysql/log

[root@MGM mysql]#vi /var/lib/mysql-cluster/config.ini (添加以下内容)

[NDBD DEFAULT]

NoOfReplicas=2

#[TCP DEFAULT]

#PortNumber=1186

[NDB_MGMD]

#设置管理节点服务器

nodeid=1

HostName=192.168.1.71 

DataDir=/var/mysql/data

[NDBD]

nodeid=2

HostName=192.168.1.72 

DataDir=/var/mysql/data

[NDBD]

nodeid=3

HostName=192.168.1.73 

DataDir=/var/mysql/data

[MYSQLD]

nodeid=4

HostName=192.168.1.74 

[MYSQLD]

nodeid=5

HostName=192.168.1.75 

#必须有空的mysqld节点,不然数据节点断开后启动有报错

[MYSQLD]

nodeid=6

[mysqld]

nodeid=7

拷贝ndb_mgm、ndb_mgmd、config.ini到bin目录:

[root@MGM mysql]#cd /usr/local/mysql/bin

[root@MGM bin]#cp ./ndb_mgm /usr/local/bin/

[root@MGM bin]#cp ./ndb_mgmd /usr/local/bin/

[root@MGM bin]#cp /var/lib/mysql-cluster/config.ini /usr/local/bin/

[root@MGM bin]#vi /etc/sysconfig/iptables (添加红色方框内容)

2.jpg

[root@MGM bin]/etc/init.d/iptables restart 重启防火墙

2.数据节点配置:(所有数据节点需执行)

[root@NDBD1 ]#mkdir /var/mysql

[root@NDBD1 ]#mkdir /var/mysql/data

[root@NDBD1 ]#mkdit /var/mysql/log

[root@NDBD1 ]#/etc/init.d/iptables stop (关闭防火墙,也可自行添加开放端口)

[root@NDBD1 ]#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=192.168.1.71

[MYSQL_CLUSTER]

ndb-connectstring=192.168.1.71

[NDB_MGM]

connect-string=192.168.1.71

[mysqld_safe]

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

pid-file=/var/run/mysqld/mysqld.pid

3.sql节点配置:(所有sql节点需执行)

[root@SQL1 ]#cd /usr/local/mysql/

[root@SQL1 mysql]#cp support-files/mysql.server /etc/rc.d/init.d/mysqld

[root@SQL1 mysql]#chmod +x /etc/rc.d/init.d/mysqld

[root@SQL1 mysql]#chkconfig –add mysqld

[root@SQL1 mysql]#mkdir /var/mysql

[root@SQL1 mysql]#mkdir /var/mysql/data

[root@SQL1 mysql]#mkdir /var/mysql/log

[root@SQL1 mysql]#chown -R mysql:mysql /var/mysql

[root@SQL1 mysql]#ln -s /usr/local/mysql/bin/mysql /usr/bin

[root@SQL1 mysql]#ln -s /var/mysql/mysql.sock /tmp/mysql.sock

[root@SQL1 mysql]#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

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

ndbcluster

ndb-connectstring=192.168.1.71

[MYSQL_CLUSTER]

ndb-connectstring=192.168.1.71

[NDB_MGM]

connect-string=192.168.1.71

[mysqld_safe]

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

pid-file=/var/run/mysqld/mysqld.pid

四、mysql-cluster启动

1.启动mysql-cluster

mysql集群的启动顺序为:管理节点->数据节点->SQL节点

mysql集群的关闭顺序为,SQL节点->数据节点->管理节点

2.管理节点:

[root@MGM ]#ndb_mgmd -f /var/lib/mysql-cluster/config.ini –initial(注意第一次或者对config文件进行修改后,打开服务一定要加上initial否则新增加的内容不会被使用)

3.jpg

3.数据节点:

[root@NDBD1 ]#/usr/local/mysql/bin/ndbd –initial(此处同上)

4.jpg

4.sql节点:

[root@SQL1 ]#service mysqld start

5.jpg

5.验证:(在管理节点上)

[root@MGM ]#ndb_mgm

ndb_mgm>show

6.jpg

五、测试

1.在sql1节点执行:

[root@SQL1 ]#mysql 调用mysql

mysql>create database tianyuan; 创建数据库

mysql>use tianyuan; 使用数据库

mysql>create table test(i int,name varchar(10)) engine=ndbcluster; 创建表

mysql>insert into test values(1,'ceshi'); 插入表数据

mysql>select * from test; 查询验证

2.在sql2节点验证sql1的数据是否已同步到sql2:

[root@SQL2 ]#mysql 调用mysql

mysql>show databases; 查询数据库

mysql>use tianyuan; 使用数据库

mysql>select * from test; 查询验证

3.可通过中断数据节点或sql节点来验证数据是否会同步。

相关文章

  • mysql found_row()使用详解

    mysql found_row()使用详解

    在参考手册中对found_rows函数的描述是: it is desirable to know how many rows the statement would have returned without the LIMIT. 也就是说,它返回值是如果SQL语句没有加LIMIT的情况下返回的数值。
    2016-05-05
  • mysql之group by和having用法详解

    mysql之group by和having用法详解

    这篇文章主要介绍了mysql之group by和having用法详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • MySQL之information_schema数据库详细讲解

    MySQL之information_schema数据库详细讲解

    这篇文章主要介绍了MySQL之information_schema数据库详细讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 详解Mysql中tinyint与int的区别

    详解Mysql中tinyint与int的区别

    本文详细讲解了Mysql中tinyint与int的区别,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • 关于Mysql的InnoDB锁概述

    关于Mysql的InnoDB锁概述

    这篇文章主要介绍了关于Mysql的InnoDB锁概述,对于更新操作(UPDATE、INSERT、DELETE),InnoDB会自动给涉及到的数据集加排他锁,需要的朋友可以参考下
    2023-05-05
  • MySQL数据库优化之索引实现原理与用法分析

    MySQL数据库优化之索引实现原理与用法分析

    这篇文章主要介绍了MySQL数据库优化之索引实现原理与用法,结合实例形式分析了mysql数据库优化操作的索引原理、具体实现与相关操作注意事项,需要的朋友可以参考下
    2020-01-01
  • 详解Mysql日期格式并聚合统计示例

    详解Mysql日期格式并聚合统计示例

    这篇文章主要为大家介绍了Mysql日期格式并聚合统计示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 如何更改Linux(CentOS)系统下的MySQL数据库目录位置

    如何更改Linux(CentOS)系统下的MySQL数据库目录位置

    由于MySQL的数据库太大,默认安装的/var盘已经再也无法容纳新增加的数据, 没有办法,只能想办法转移数据的目录。 简单整理一下这几天把MySQL从/var/lib/mysql目录下面转移到/home/mysql_data/mysql下面具体操作
    2020-01-01
  • 解决修改mysql的data_dir所引发的错误问题

    解决修改mysql的data_dir所引发的错误问题

    本文给大家分享解决修改mysql的data_dir所引发的错误问题,非常不错具有参考借鉴价值,需要的朋友参考下吧
    2017-04-04
  • MySQL性能全面优化方法参考,从CPU,文件系统选择到mysql.cnf参数优化

    MySQL性能全面优化方法参考,从CPU,文件系统选择到mysql.cnf参数优化

    本文整理了一些MySQL的通用优化方法,做个简单的总结分享,大部分情况下都介绍了适用的场景,如果你的应用场景和本文描述的不太一样,那么建议根据实际情况进行调整
    2018-03-03

最新评论