CentOS7 mysql-cluster安装与配置

2024-08-27 11:04

本文主要是介绍CentOS7 mysql-cluster安装与配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

下载安装:

#拷贝ndb_mgm和ndb_mgmd

#创建并编辑配置文件

#初始化管理节点

安装数据节点和sql节点

#初始化mysql

#启动mysql

#登录并设置新密码

#启动ndbd节点:

#启动和停止管理节点

mysql-cluster安装与配置

下载安装:

下载工具包地址:https://dev.mysql.com/downloads/cluster/

注:以mysql-cluster-8.0.25-linux-glibc2.12-x86_64.tar.gz为例

$>wget https://downloads.mysql.com/archives/get/p/14/file/mysql-cluster-8.0.25-linux-glibc2.12-x86_64.tar.gz

$> tar -zxvf mysql-cluster-8.0.25-linux-glibc2.12-x86_64.tar.gz

#将解压的文件重命名为mysql-cluster移动到/usr/local/mysql目录下

$> mv mysql-cluster-8.0.25-linux-glibc2.12-x86_64 /usr/local/mysql/mysql-cluster

#复制到其它服务器

$> scp -r /usr/local/mysql/mysql-cluster root@192.168.106.102:/usr/local/mysql/mysql-cluster

$> scp -r /usr/local/mysql/mysql-cluster root@192.168.106.103:/usr/local/mysql/mysql-cluster

#防火墙 status查看是否开启,stop关闭

$> systemctl status firewalld

$> systemctl stop firewalld

不用执行:[root@mysql ~]#  systemctl disable firewalld

#拷贝ndb_mgm和ndb_mgmd

$> cp /usr/local/mysql/mysql-cluster/bin/ndb_mgm* /usr/local/bin/

#创建并编辑配置文件

$> vi /usr/local/mysql/mysql-cluster/config.ini

[ndbd default]

#ptions affecting ndbd processes on all data nodes:

NoOfReplicas=2    # Number of fragment replicas

DataMemory=256M    # How much memory to allocate for data storage

[ndb_mgmd]

# Management process options:

NodeId=1

HostName=192.168.106.101          # Hostname or IP address of management node default port 1186

DataDir=/usr/local/mysql/mysql-cluster  # Directory for management node log files

[ndbd]

# Options for data node "A":

                                # (one [ndbd] section per data node)

HostName=192.168.106.102          # Hostname or IP address

NodeId=2                        # Node ID for this data node

DataDir=/usr/local/mysql/clu_data   # Directory for this data node's data files

[ndbd]

# Options for data node "B":

HostName=192.168.106.103          # Hostname or IP address

NodeId=3                        # Node ID for this data node

DataDir=/usr/local/mysql/clu_data   # Directory for this data node's data files

[mysqld]

# SQL node options:

NodeId=4

HostName=192.168.106.102          # Hostname or IP address

                                # (additional mysqld connections can be

                                # specified for this node for various

                                # purposes such as running ndb_restore)

[mysqld]

# SQL node options:

NodeId=5

HostName=192.168.106.103

#初始化管理节点

$> /usr/local/bin/ndb_mgmd -f /usr/local/mysql/mysql-cluster/config.ini --initial

# ndb_mgmd是mysql cluster的管理服务器,-f:指定启动的参数配置文件

#--initial:初始化配置,修改配置文件启动时就必须加上--initial参数,不然添加的节点不会在mysql cluster中

#验证初始化管理节点是否启动成功

$> /usr/local/bin/ndb_mgm

-- NDB Cluster -- Management Client --

ndb_mgm> show

Connected to Management Server at: 192.168.106.101:1186

Cluster Configuration

---------------------

[ndbd(NDB)] 2 node(s)

id=2 @192.168.106.102  (mysql-8.0.25 ndb-8.0.25, Nodegroup: 0, *)

id=3 @192.168.106.103  (mysql-8.0.25 ndb-8.0.25, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)

id=1 @192.168.106.101  (mysql-8.0.25 ndb-8.0.25)

[mysqld(API)] 2 node(s)

id=4 @192.168.106.102  (mysql-8.0.25 ndb-8.0.25)

id=5 @192.168.106.103  (mysql-8.0.25 ndb-8.0.25)

安装数据节点和sql节点

$> vi /etc/my.cnf

[mysqld]

datadir=/usr/local/mysql/clu_data

basedir=/usr/local/mysql/mysql-cluster

ndbcluster

default-storage-engine=ndbcluster

port=33062

#character config

character_set_server=utf8mb4

explicit_defaults_for_timestamp=true

[mysqld_safe]

#log-error=/var/log/mariadb/mariadb.log

log-error=/usr/local/mysql/clu_data/mysql.log

#pid-file=/var/run/mariadb/mariadb.pid

:

[mysql_cluster]

ndb-connectstring=192.168.106.101:1186

#

# include all files from the config directory

#

!includedir /etc/my.cnf.d

#初始化mysql

$>/usr/local/mysql/mysql-cluster/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql-cluster --datadir=/usr/local/mysql/clu_data

#启动mysql

$>/usr/local/mysql/mysql-cluster/support-files/mysql.server start

#登录并设置新密码

$> mysql -uroot -p

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
use mysql;
update user set host = '%' where user = 'root';
flush privileges;

如果连接报错:

修改mysql的root用户的语句:alter user 'root'@'localhost' identified by 'xxx'; mysql默认使用sha_256加密,再次修改mysql账号的密码,使用其他的加密方式,如下语句:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxx';

flush privileges;

#启动ndbd节点:

$> cp /usr/local/mysql/mysql-cluster/bin/ndbd /usr/local/bin/ndbd

$> cp /usr/local/mysql/mysql-cluster/bin/ndbmtd /usr/local/bin/ndbmtd

$> /usr/local/mysql/mysql-cluster/bin/ndbd --initial

#首次启动数据节点时要加上--initial参数,后续启动不能添加该参数,否则ndbd程序会清除在之前建立的所有用于恢复的数据文件和日志文件

下次启动直接

$> /usr/local/mysql/mysql-cluster/bin/ndbd

#启动和停止管理节点

启动顺序:管理节点->[数据节点,sql节点]

管理节点启动:/usr/local/bin/ndb_mgmd -f /usr/local/mysql/mysql-cluster/config.ini

数据节点启动: /usr/local/bin/ndbd

SQL节点启动:/usr/local/mysql/mysql-cluster/support-files/mysql.server start

管理节点停止: /usr/local/bin/ndb_mgm -e shutdown

数据节点停止: /usr/local/bin/ndbd shutdown

SQL节点停止:/usr/local/mysql/mysql-cluster/support-files/mysql.server stop

在其中一台创建一个新的库,添加一个ndbcluster 引擎的表,其它引擎数据不会同步:

集群数据库创建表的引擎必须是:ENGINE=NDBCLUSTER or ENGINE=NDB 

CREATE TABLE `test` (

`id` bigint NOT NULL AUTO_INCREMENT 

) ENGINE=ndbcluster;

INSERT test(id) value(1);

异常处理:

libcrypto.so.1.1: cannot open shared object file: No such

gcc查看是否安装gcc -v

安装yum install gcc gcc-c++

openssl查看是否安装openssl version

安装yum install  -y openssl  openssl-devel

ALTER USER 'root'@'%' IDENTIFIED BY 'Aa123456' PASSWORD EXPIRE NEVER;   #修改加密规则

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Aa123456';

flush privileges;

这篇关于CentOS7 mysql-cluster安装与配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1111486

相关文章

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

MySQL中查找重复值的实现

《MySQL中查找重复值的实现》查找重复值是一项常见需求,比如在数据清理、数据分析、数据质量检查等场景下,我们常常需要找出表中某列或多列的重复值,具有一定的参考价值,感兴趣的可以了解一下... 目录技术背景实现步骤方法一:使用GROUP BY和HAVING子句方法二:仅返回重复值方法三:返回完整记录方法四:

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

MySQL中的锁机制详解之全局锁,表级锁,行级锁

《MySQL中的锁机制详解之全局锁,表级锁,行级锁》MySQL锁机制通过全局、表级、行级锁控制并发,保障数据一致性与隔离性,全局锁适用于全库备份,表级锁适合读多写少场景,行级锁(InnoDB)实现高并... 目录一、锁机制基础:从并发问题到锁分类1.1 并发访问的三大问题1.2 锁的核心作用1.3 锁粒度分

MySQL数据库中ENUM的用法是什么详解

《MySQL数据库中ENUM的用法是什么详解》ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用,下面:本文主要介绍MySQL数据库中ENUM的用法是什么的相关资料,文中通过代码... 目录mysql 中 ENUM 的用法一、ENUM 的定义与语法二、ENUM 的特点三、ENUM 的用法1

MySQL count()聚合函数详解

《MySQLcount()聚合函数详解》MySQL中的COUNT()函数,它是SQL中最常用的聚合函数之一,用于计算表中符合特定条件的行数,本文给大家介绍MySQLcount()聚合函数,感兴趣的朋... 目录核心功能语法形式重要特性与行为如何选择使用哪种形式?总结深入剖析一下 mysql 中的 COUNT

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素