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 ...
随机推荐
- JavaWeb_(Spring框架)整合Mybatis加入事务操作数据库
整合Mybatis a)导包: i.Spring:基本包.aop.aspects.jdbc.tx.test: ii.Mybatis:mybatis-3.4.6 iii.整合包:mybatis-spri ...
- 什么是Servlet容器?
在本文中,我写了一些关于Web服务器.Servlet容器以及它与JVM的关系的基本概念.我想表达的是,Servlet容器也仅仅不过是一个Java程序. 1. 什么是Web服务器? 想要知道什么是Ser ...
- JAVA基础知识|小知识点
1.强烈建议,不使用char类型 那么,到底为什么java里不推荐使用char类型呢?其实,1个java的char字符并不完全等于一个unicode的字符.char采用的UCS-2编码,是一种淘汰的U ...
- Sublime Markdown预览插件安装流程
使用方法 在sublime中已编辑好的markdown使用快捷键 Alt+M 即可在浏览器预览效果. 需要安装的插件 Markdown Editting:主要用来做 Markdown 编辑时的语法高亮 ...
- UML期末复习题——2.8:UML Design Class Diagram(DCD)
第八题:设计类图 重要概念: 1. 类图(Class Diagram): 类图是面向对象系统建模中最常用和最重要的图,是定义其它图的基础.类图主要是用来显示系统中的类.接口以及它们之间的静态结构和关系 ...
- SQL-W3School-高级:SQL BETWEEN 操作符
ylbtech-SQL-W3School-高级:SQL BETWEEN 操作符 1.返回顶部 1. BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围. BETWEE ...
- Android:高通平台性能调试
1.GPU / CPU 信息打印脚本 gpu_cpu_info.bat @echo off echo "==================GPU====================== ...
- kotlin泛型中星号投射
如果一个泛型类型中存在多个类型的参数,那么每个类型的参数都可以单独投射,例如:如果类型定义为:"interface Function<in T,out>",那么可以出现 ...
- python之Anaconda python3.7安装
1.下载 https://www.anaconda.com/distribution/ #你会发现,使用windows下载十分慢,既然这样,为何不尝试centos(linux)安装呢?本人使用cent ...
- Linux-文件系统的简单操作
文件系统的简单操作 磁盘与目录的容量:df.du df [option] [目录或文件名] 参数: -a:列出所有的文件系统,包括系统特有的/proc等系统 -k:以KB的容量显示各文件系统 -m:以 ...