linux下mysql部署
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部署的更多相关文章
- linux下MySQL表名忽略大小写设置
最近公司项目的MySQL数据库要迁移到linux下,部署时日志总是显示报找不到一个表,用MYSQL查看明明有这个表.后来经百度,原来LINUX下的MYSQL默认是区分表名大小写的. 用命令查看当前是否 ...
- linux 下mysql的启动 、调试、排错
Linux 下 MySQL 启动与关闭 说明 一.启动 1.1 MySQL 进程 可以用ps 命令查看进程: [root@rac2 ~]# ps -ef|grep mysql root 21 ...
- Linux下MySQL/MariaDB Galera集群搭建过程【转】
MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...
- Linux下MySql变量修改遇到的问题记录
一.问题记录: 项目上需要使用mysql的过程来自动化构建一批数据,但是调用的时候总是报找不到表或者过程 二.排查过程: (1)首先终端连接mysql后发现,无论表还是过程在数据库中都是存在的,排除了 ...
- (原创)Linux下MySQL 5.5/5.6的修改字符集编码为UTF8(彻底解决中文乱码问题)
« CloudStack+XenServer详细部署方案(10):高级网络功能应用 (总结)CentOS Linux 5.x在GPT分区不能引导的解决方法 » 2013-1 11 (原创)Linux下 ...
- Linux下MySQL报Table 'xxx' doesn't exist错误解决方法,表名存在大小写区分
Linux服务器上在线装了个MySQL,但是部署web应用时一直报后台一直报错:Table 'xxx' doesn't exist. 本地测试一直都是正常的,同样的代码,同样的数据库,表是存在的,但是 ...
- linux下如何部署php项目?
linux下部署php项目环境可以分为两种,一种使用Apache,php,mysql的压缩包安装,一种用yum命令进行安装. 使用三种软件的压缩包进行安装,需要手动配置三者之间的关系.apache和p ...
- Linux下MySQL忘记密码
系统:CentOS6.6 64位 参考文档(截图请看原网址): Linux下MySQL忘记root密码怎么办_百度经验 http://jingyan.baidu.com/article/1709ad8 ...
- linux下mysql远程访问
// */ // ]]> linux下mysql远程访问 Mysql默认root用户只能本地访问,不能远程连接管理mysql数据库,但项目中必须要远程导 入导出数据,所以研究了一下. Tab ...
随机推荐
- [python]字典的直接赋值、浅拷贝和深拷贝解析
1.赋值引用 b = a: a 和 b 都指向同一个对象. 2.浅拷贝 b = a.copy(): a 和 b父对象是一个独立的对象,但他们的子对象还是指向统一对象(是引用). 3.深拷贝 b = ...
- 查看Oracle表空间使用情况
1.查询表空间的总容量 as MB from sys.dba_data_files a group by a.TABLESPACE_NAME 2.查询表空间的空闲容量 select b.TABLESP ...
- Java连接Memcached进行CRUD
参考这篇博文在本机安装了Memcached 在 Java 中常用的memcached有三个: Memcached Client for Java SpyMemcached XMemcached 这里使 ...
- Flask 编写一个授权登录验证的模块(二)
本篇比上一篇多了重定向的功能 #!/usr/bin/env python # -*- coding: utf-8 -*- #python3 import base64 import random im ...
- Resize image online 调整图片大小
https://resizeimage.net/ 第一步,先上传图片 第二步,可选的(裁剪图片),这里的type的ratio是指图片的宽高比例(和图片最后的size大小无关) 3. Rotate yo ...
- Python颜色分类及格式
Python字符串颜色使用下面方式进行修改 \033[显示方式;字体色;背景色m 字符串 \033[0m 显示方式包括: 0 终端默认设置 1 高亮显示 4 使用下划线 5 闪烁 7 反白显 ...
- Python 基础学习的几个小例子
最近在研究动态脚本语言 Python , 出于对其语言精简度的喜欢及大学时期对 matlab 这样的数学领域语言的怀念, 再加上笔者是C++起家,Python中所涉及的del机制与特殊方法重载(类比于 ...
- python笔记2小数据池,深浅copy,文件操作及函数初级
小数据池就是在内存中已经开辟了一些特定的数据,经一些变量名直接指向这个内存,多个变量间公用一个内存的数据. int: -5 ~ 256 范围之内 str: 满足一定得规则的字符串. 小数据池: 1,节 ...
- vue2.0+vue-video-player实现hls播放的案例
1. 安装依赖. npm install vue-video-player --save 2. 在main.js引入vue-video-player. import VueVideoPlayer fr ...
- 12 Flutter仿京东商城项目 商品列表页面请求数据、封装Loading Widget、上拉分页加载更多
ProductList.dart import 'package:flutter/material.dart'; import '../services/ScreenAdaper.dart'; imp ...