首页 技术 正文
技术 2022年11月16日
0 收藏 380 点赞 4,046 浏览 3685 个字

mysql

1、拓扑结构

mysql集群有如下三层:

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

拓扑结构图如下所示:

linux下mysql部署
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  //使立即生效

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,088
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,564
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,412
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,185
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,822
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,905