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  //使立即生效

linux下mysql部署的更多相关文章

  1. linux下MySQL表名忽略大小写设置

    最近公司项目的MySQL数据库要迁移到linux下,部署时日志总是显示报找不到一个表,用MYSQL查看明明有这个表.后来经百度,原来LINUX下的MYSQL默认是区分表名大小写的. 用命令查看当前是否 ...

  2. linux 下mysql的启动 、调试、排错

    Linux 下 MySQL 启动与关闭 说明 一.启动 1.1  MySQL 进程 可以用ps 命令查看进程: [root@rac2 ~]# ps -ef|grep mysql root     21 ...

  3. Linux下MySQL/MariaDB Galera集群搭建过程【转】

    MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...

  4. Linux下MySql变量修改遇到的问题记录

    一.问题记录: 项目上需要使用mysql的过程来自动化构建一批数据,但是调用的时候总是报找不到表或者过程 二.排查过程: (1)首先终端连接mysql后发现,无论表还是过程在数据库中都是存在的,排除了 ...

  5. (原创)Linux下MySQL 5.5/5.6的修改字符集编码为UTF8(彻底解决中文乱码问题)

    « CloudStack+XenServer详细部署方案(10):高级网络功能应用 (总结)CentOS Linux 5.x在GPT分区不能引导的解决方法 » 2013-1 11 (原创)Linux下 ...

  6. Linux下MySQL报Table 'xxx' doesn't exist错误解决方法,表名存在大小写区分

    Linux服务器上在线装了个MySQL,但是部署web应用时一直报后台一直报错:Table 'xxx' doesn't exist. 本地测试一直都是正常的,同样的代码,同样的数据库,表是存在的,但是 ...

  7. linux下如何部署php项目?

    linux下部署php项目环境可以分为两种,一种使用Apache,php,mysql的压缩包安装,一种用yum命令进行安装. 使用三种软件的压缩包进行安装,需要手动配置三者之间的关系.apache和p ...

  8. Linux下MySQL忘记密码

    系统:CentOS6.6 64位 参考文档(截图请看原网址): Linux下MySQL忘记root密码怎么办_百度经验 http://jingyan.baidu.com/article/1709ad8 ...

  9. linux下mysql远程访问

    // */ // ]]>   linux下mysql远程访问 Mysql默认root用户只能本地访问,不能远程连接管理mysql数据库,但项目中必须要远程导 入导出数据,所以研究了一下. Tab ...

随机推荐

  1. 异步机制 - ReadFileEx(WriteFileEx)

    1 ReadFileEx定义 BOOL WINAPI ReadFileEx( __in HANDLE hFile, __out LPVOID lpBuffer, __in DWORD nNumberO ...

  2. WebService基础学习

    参考 WebService基础学习(一)—基础知识:http://www.cnblogs.com/yangang2013/p/5708647.html WebService基础学习(二)—三要素:ht ...

  3. Java操作Cookie方法

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  4. spaCy 第二篇:语言模型

    spaCy处理文本的过程是模块化的,当调用nlp处理文本时,spaCy首先将文本标记化以生成Doc对象,然后,依次在几个不同的组件中处理Doc,这也称为处理管道.语言模型默认的处理管道依次是:tagg ...

  5. Ubuntu: Linux下查看本机显示器分辨率(xrandr)

    版权声明:转载请注明出处 https://blog.csdn.net/JNingWei/article/details/75044598   Linux下查看本机显示器分辨率: $ xrandr Sc ...

  6. PHP多进程开发与Redis结合实践

    原文:https://blog.51cto.com/laok8/2107892?source=drh 业务逻辑介绍: 用户在 APP 上发帖子,然后存储到 Redis 的 List 列表中 利用 Li ...

  7. v-if与v-show的区别?

    v-if的显示和隐藏实在dom里创建和消除dom节点 v-show是用css样式的display来控制dom节点的显示和隐藏 相比之下,v-show 就简单得多——不管初始条件是什么,元素总是会被渲染 ...

  8. 数据分析 - Power BI 链接 mysql 数据分析

    链接数据库 点击确定后选择数据库, 然后输入用户名密码, 选择级别选择指定的数据库即可 之后弹出的导航器中即可有可预览的数据 更加推荐使用 再链接数据库的时候高级查询的 sql 中进行 sql 的执行 ...

  9. Python 数据库的Connection、Cursor两大对象

    Python 数据库的Connection.Cursor两大对象 pymysql是Python中操作MySQL的模块,其使用方法和py2的MySQLdb几乎相同. Python 数据库图解流程 Con ...

  10. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_12-页面静态化-页面静态化流程

    需要知道数据结构,然后去做模板标签.首先需要获取页面的数据模型.下面的每一条记录都代表一个页面. 比如这个轮播图.就需要提前给这个轮播图编写一个模板 有很多的页面如果知道每个页面的dataUrl.例如 ...