CentOS7 mysql cluster 安装部署

本文详细介绍了在CentOS7上安装和配置MySQL集群的步骤,包括关闭防火墙、下载安装包、创建用户和组、设置配置文件、启动管理及数据节点,并提供了权限调整、集群状态查看及测试等关键操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.使用命令:systemctl status firewalld.service查看防火墙状态
2.执行后可以看到绿色字样标注的“active(running)”,说明防火墙是开启状态
3.使用命令:systemctl stop firewalld.service 关闭运行的防火墙

4.下载mysql-cluster-gpl-7.4.26-linux-glibc2.12-x86_64.tar.gz集群
5.安装mysql集群
    1)增加组    groupadd mysql
    2)增加用户    useradd mysql -g mysql
    3)解压
        cd /usr/local/
        tar -zxvf mysql-cluster-gpl-7.4.26-linux-glibc2.12-x86_64.tar.gz 
    4)重命名
        mysql-cluster-gpl-7.4.26-linux-glibc2.12-x86_64.tar.gz 重命名为mysql
    5)运行mysql脚本
        cd mysql/
        yum -y install autoconf 
        ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql
    6)给mysql用户授权
        cd ..
        chown -R mysql:mysql mysql
        chown -R mysql:mysql  /usr/local/mysql
    7)复制配置文件my.cnf到etc下my.cnf
        cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
        y
        cd mysql
    8) 复制配置文件mysqld到etc下mysqld
        cp support-files/mysql.server /etc/init.d/mysqld
        y
    9)yum -y install vim*

6.管理节点配置
    1)vim /etc/mysql-cluster.ini

    [NDBD DEFAULT]
    NoOfReplicas=3
    #定义在Cluster环境中相同数据的份数,最大为4
    DataMemory=200M
    #每个数据节点中给数据分配的内存
    IndexMemory=20M
    #每个数据节点中给索引分配的内存
    MaxNoOfAttributes=20480
    #该参数用于设置簇中触发程序对象的最大数目。该参数的默认值为768,不修改建表时可能会报708错误
    [NDB_MGMD]
    NodeId=1
    #设置管理节点服务器
    HostName=192.168.0.194
    DataDir=/usr/local/mysql/data
    [NDBD]
    NodeId=2
    #设置存储节点服务器(NDB节点)
    HostName=192.168.0.124
    DataDir=/usr/local/mysql/data
    [NDBD]
    NodeId=3
    HostName=192.168.0.173
    DataDir=/usr/local/mysql/data
    [NDBD]
    NodeId=4
    #第二个NDB节点
    HostName=192.168.0.163
    DataDir=/usr/local/mysql/data
    [MYSQLD]
    NodeId=5
    HostName=192.168.0.124
    [MYSQLD]
    NodeId=6
    HostName=192.168.0.173
    [MYSQLD]
    NodeId=7
    HostName=192.168.0.163


    2)启动管理节点
    cd  /usr/local/mysql/bin
    ./ndb_mgmd -f /etc/mysql-cluster.ini
    ./ndb_mgmd -f /etc/mysql-cluster.ini --initial  (#--initial:第一次启动时加上,其它时候不要加,不然会数据清空,除非是在备份、恢复或配置变化后重启时)

    通过netstat -lntpu或者ps -aux |grep ndb_mgmd查看是否启动成功


7.数据节点与sql节点的配置
    在124与173,163服务上配置
    1)vim /etc/my.cnf

    [mysqld]
    ndbcluster
    #使用ndb集群引擎
    ndb-connectstring=192.168.0.194
    #指定管理集群的ip地址,多个以,分隔
    default-storage-engine=ndbcluster
    #设置默认引擎
    #user=mysql
    #log-error=/usr/local/mysql/mysqld.err

    #指定管理集群的ip地址,多个以,分隔
    [mysql_cluster]
    ndb-connectstring=192.168.0.194


    2)在每台存储节点(ndbd)服务器上,如果是第一次启动ndbd进程的话,必须先执行以下命令: 
    cd /usr/local/mysql/bin
    ./ndbd --initial  #注意,仅应在首次启动ndbd时,或在备份/恢复数据或配置文件发生变化后重启ndbd时使用“--initial”参数。因为该参数会使节点删除由早期ndbd实例创建的、用于恢复的任何文件,包括用于恢复的日志文件。 

    如果不是第一次启动,直接运行如下命令即可: 
    cd /usr/local/mysql/bin
    ./ndbd

    查看是否启动成功:
    netstat -lntpu或者ps -aux |grep ndbd

    3)启动sql节点:
    service mysqld start

8.mysql权限调整

    新安装的mysql密码是空的。
    ./mysql -u root -p
    use mysql
    SELECT `Host`,`User` FROM user;
    UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1;
    FLUSH PRIVILEGES;

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'test' WITH GRANT OPTION;
    SELECT `Host`,`User` FROM user;

9.查看集群状态
    启动顺序:
    管理节点 -> 数据节点 -> SQL节点
    关闭顺序:
    SQL节点 -> 数据节点 -> 管理节点
    数据节点与sql节点都启动成功后在管理节点上查看集群状态。
    cd /usr/local/mysql/bin
    ./ndb_mgm -e show

10.管理和维护命令:
    cd /usr/local/mysql/bin
    关闭mysql集群: pkill -9 ndbd_mgmd
    启动mysql集群:./ndb_mgmd -f /var/lib/mysql-cluster/config.ini
    启动SQL节点:./mysqld_safe --user=mysql & 或 service mysqld restart
    查看mysql状态:./ndb_mgm -e show

11.测试集群
    创建数据库表,简单查看配置效果:

    由于为分布式集群,所以,在Mysql中创建的表的存储引擎必须修改为:NDB Cluster,否则数据不会同步到其他节点服务器上。
    以下建表与插入数据在一台服务上操作,操作后直接查看其他节点中的mysql,可以看到数据库、表、数据都会同步的。
    先创建个数据库mytest
    CREATE TABLE tb_city(
    id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    NAME VARCHAR(20) NOT NULL DEFAULT '')
    ENGINE = NDBCLUSTER DEFAULT CHARSET utf8mb4;

    INSERT INTO tb_city VALUES(1, 'city1');
    INSERT INTO tb_city VALUES(2, 'city2');
    INSERT INTO tb_city VALUES(3, 'city3');

12.更改表的ENGINE
    ALTER TABLE tablename ENGINE=NDBCLUSTER
     示例:
    ALTER TABLE tb_bank ENGINE=NDBCLUSTER
    集群的每一张表必须修改ENGINE = NDBCLUSTER

13:jdbc连接
    原先配置:jdbc:mysql://192.168.0.124:3306/palm_2_0_16
    集群后配置:jdbc:mysql:loadbalance://192.168.0.124:3306,192.168.0.163:3306,192.168.0.173:3306/mysql?roundRobinLoadBalance=true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值