linux下mysql部署

news/2024/4/22 6:03:15

mysql

1、拓扑结构

mysql集群有如下三层:

  • 应用程序层:负责与mysql服务器通信的各种应用程序。
  • Mysql服务器层:处理SQL命令,并与NDB存储引擎通信和Mysql服务器。
  • NDB集群组件层:NDB集群组件有时也称数据节点,负责处理查询,然后将结果返回给mysql服务器。
  • Management层:负责管理SQL与NDB节点

拓扑结构图如下所示:


Management:192.168.0.10
NDB节点:IP地址:192.168.0.20
NDB节点:IP地址:192.168.0.30
SQL节点:IP地址:192.168.0.20
SQL节点:IP地址:192.168.0.30

 

 

2、多机部署

2-1、初始化系统

每个节点都操作

systemctl disable firewalld

vim  /etc/selinux/config

SELINUX=disabled

2-2、依赖包安装

yum install wget gcc gcc-c++ make cmake ncurses-devel libtool zilib-devel –y
注:此处cmake是mysql 5.5之后版本所必需的,5.5之后的版本将cmake取代configure;

2-3、mysql管理节点

vim .../mysql-cluster/config.ini

[ndbd default]

# Options affecting ndbd processes on all data nodes:

NoOfReplicas=2    # Number of replicas

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

IndexMemory=18M   # How much memory to allocate for index storage

 

#ServerPort=2202   # This the default value; however, you can use any

 

[ndb_mgmd]

# Management process options:

NodeId=1

HostName=192.168.1.150           # Hostname or IP address of MGM node

DataDir=/var/lib/mysql-cluster  # Directory for MGM node log files

 

[ndbd]

HostName=192.168.1.151           # Hostname or IP address

NodeId=2                      # Node ID for this data node

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

 

[ndbd]

# Options for data node "B":

HostName=192.168.1.152          # Hostname or IP address

NodeId=3                        # Node ID for this data node

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

 

[mysqld]

NodeId=4

HostName=192.168.1.153  # Hostname or IP address

 

[mysqld]

NodeId=5

HostName=192.168.1.154

2-4、ndb节点(数据节点)

vim /etc/my.cnf

[mysqld]

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

socket=/usr/local/mysql/sock/mysql.sock

user=mysql

symbolic-links=0

ndbcluster

ndb-connectstring=192.168.1.150

 

[mysqld_safe]

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

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

 

[mysql_cluster]

ndb-connectstring=192.168.1.150

初始化数据库:

mysql_install_db --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data

会初始化mysql的data目录,并且创建那些系统表。
同样也会初始化系统表空间并且关联innodb表与数据结构。

chown-R mysql.mysql /usr/local/mysql

2-5、SQL节点

vim /etc/my.cnf

[client]

socket=/usr/local/mysql/sock/mysql.sock

 

[mysqld]

ndbcluster

datadir=/usr/local/mysql/data

socket=/usr/local/mysql/sock/mysql.sock

ndb-connectstring=192.168.1.150

 

[mysql_cluster]

ndb-connectstring=192.168.1.150

mysql_install_db --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data

chown-R mysql.mysql /usr/local/mysql

2-6、把mysql添加为系统服务

cp mysql/support-files/mysql.server  /etc/rc.d/init.d/

chmod +x /etc/rc.d/init.d/mysql.server

chkconfig --add mysql.server

3、Cluster启动

3-1、启动管理节点

首次启动需要加  --initial

mysql/bin/ndb_mgmd -f /data/mysql-cluster/config.ini --initial 

报错的话:

mysql/bin/ndb_mgmd --skip-config-cache -f /data/mysql-cluster/config.ini --initial

3-2、启动数据节点

首次启动需要+ --initial

/data/mysql/bin/ndbd --initial

3-3、启动 SQL 节点

/data/mysql/bin/mysqld_safe --user=mysql &

3-4、查看集群状态

管理节点

ndb_mgm

show

4、单机部署

4-1、解压安装

tar zxvf mysql-cluster-gpl-7.6.6-linux-glibc2.12-x86_64.tar.gz

mv mysql-cluster-gpl-7.6.6-linux-glibc2.12-x86_64/ mysql

mkdir sock

mkdir /var/lib/mysql

bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

cp support-files/mysql.server /etc/init.d/mysql

vim  data/z3.pid

chmod 755 z3.pid

chown -R mysql.mysql mysql

4-2、配置

vim /etc/my.cnf

[client]

default-character-set=utf8

socket=/usr/local/mysql/sock/mysql.sock

#user=root

#password=123321

host=localhost

port=3306

 

[mysqld]

datadir=/usr/local/mysql/data

socket=/usr/local/mysql/sock/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

skip-grant-tables    //忽略登录密码

 

[mysqld_safe]

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

pid-file=/var/lib/mysql/mysqld.pid

4-3、启动

service mysql start(stop、status)

4-4、登录

mysql/bin/mysql -uroot -p

4-5、授权

grant  all  privileges  on  *.*  to  'user'@'%'  indetified  by  'password' with grant option         //授权

flush privileges  //使立即生效

 

转载于:https://www.cnblogs.com/archimedes-euler/p/10044518.html


https://dhexx.cn/news/show-915549.html

相关文章

Eclipse快捷键 10个最有用的快捷键

Eclipse中10个最有用的快捷键组合 一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合。通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升。 1. ctrlshiftr:打开资源 这可能是所有快捷键组合中最省时间的了…

【博客之星】帮我投一票吧,谢谢

只希望喜欢我博客的朋友、同学,能帮我投一票。 如果票已经投完,可以让你的好友帮我投一票。 谢谢! 如果让我说三句“拉票宣言”的话。 我想说, 1.博客中的每一个评论,我几乎都及时回复了。 2.每一个关注我的人&#xf…

模块介绍

day14 一、生成器表达式: 形如各种生成式,但是包含在小括弧内,得到的是一个生成器。 # g(i for i in range(10) if i > 5) #形如列表生成式,但是用小括号包含的称为生成器表达式,得到的g是一个生成器(…

promise.prototypr.then()

Promise 实例具有then 方法,也就是说,then 方法是定义在原型对象 Promise .prototype上的。它的作用是为Promise实例添加状态改变时的回调函数。 then方法的第一个参数是resolved状态的回调函数,第二个参数是rejected状态的回调函数。 then方…

从零开始——Ubuntu系统安装redis和phpredis

在我们部署redis之前,先了解下redis到底是个啥东西。 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、 list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remov…

设计模式实战13--行为型--策略模式

策略模式(Strategy)定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。 策略模式让算法独立于使用它的客户而独立变化。 策略模式结构图: 策略模式解析: Cont…

pat -1004(树的遍历)

题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805521431773184 思路: (1)用vector记录每个非叶子节点的子节点 (2)通过dfs记录每一层的节点的个数,并记录最高层的节…

探索ORACLE之RMAN_07非一致性恢复(集合)

探索ORACLE之RMAN_07非一致性恢复(集合) 作者:吴伟龙 Name:Prodence Woo QQ:286507175 msn:hapy-wuweilonghotmail.com 在前面的议题中实际上已经对rman的备份恢复做了个比较完整的介绍,谈到了数据库&…

用CIFilter生成QRCode二维码图片

用CIFilter生成QRCode二维码图片 CIFilter不仅仅可以用来做滤镜,它还可以用来生成二维码. CIFilterEffect.h CIFilterEffect.m // // CIFilterEffect.h // CIFilter // // Created by YouXianMing on 14-5-9. // Copyright (c) 2014年 Y.X. All rights reserved. //#impor…

个性化注册表单

在线演示 本地下载 转载于:https://www.cnblogs.com/qixidi/p/10070874.html