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 ...
随机推荐
- Linux环境下levelDB源码编译与安装
1.下载源码并编译 git clone https://github.com/google/leveldb.git cd leveldb //编译源码的时候需要安装cmake,并且版本需要大于3.9, ...
- 异步机制 - IO完成端口
1 KQUEUE KeInitializeQueue VOID KeInitializeQueue( IN PKQUEUE Queue, IN ULONG Count OPTIONAL ); l ...
- 7 AOP
AOP:Aspect Oriented Programming 面向切面编程.AOP是对面向对象编程的一种补充,在运行时动态地将代码切入到类的指定方法.指定位置的编程思想.将不同的方法的同一位置抽象成 ...
- KVM——以桥接的方式搭建虚拟机网络配置
以桥接的方式搭建虚拟机网络,其优势是可以将网络中的虚拟机看作是与主机同等地位的服务器. 在原本的局域网中有两台主机,一台是win7(IP: 192.168.0.236),一台是CentOS7(IP: ...
- Flutter移动电商实战 --(26)列表页_使用Provide控制子类-2
主要实现功能,点击一级分类,二级分类跟着变.这里主要用我们的provide 新建provide provide文件夹下创建:child_category.dart 事件上就是这个实体:BxMallSu ...
- oracle传输表空间
https://blog.csdn.net/ch7543658/article/details/39271135/ Oracle expdp/impdp常用性能优化方法 1.查看操作系统endiann ...
- kotlin中抽象类
抽象类和接口很类似,抽象类不能被实例化需要使用abstract 关键字声明,抽象类实现接口后,接口中没有函数体的函数可以不重写,接口中的这些方法就自动被继承到实现接口的抽象类中,称为抽象方法 pack ...
- js 删除 按钮所在的行
<body> <table id="delte"> <caption>简易购物车</caption> <tr> < ...
- 16. kubernetes RBAC
16. kubernetes RBAC授权插件: Node,ABAC,RBAC,webhock RBAC: role based access contrl 基于角色的授权. 角色:(role)许可( ...
- linux:解决SSH连接Linux超时自动断开
用SSH登录到Linux的时候,由于默认的连接超时时间很短,经常断开! 1.修改文件 # vi /etc/ssh/sshd_config 2.重启sshd服务 # /etc/init.d/sshd r ...