mysql 集群 (解决单点故障,并备份)
集群软件
mysql-cluster-gpl-6.3.20-linux-i686-glibc23.
集群中有三种角色
管理进程
mysqld进程
ndbd 进程
管理软件内有有三个进程
ndb节点 (数据节点)
实现备份功能至少有俩个 ndb1 和 ndb2
sql 节点 (1访问服务的接口 2执行sql 语句的终端)
sql2 节点备份sql的
管理主机 (集群中启动程序的时候 读配置文件 配置文件内指定集群中主机的角色)
-------------------------------------------
等主机们都开启了以后 (管理主机关掉也可以 只要管理主机的进程启动起来了,区分了主机的身份 ,关掉管理主机也可以)
----------------------------------------
找5台主机 1 sql1 2 sql2 3 ndb1 4 ndb2 5 管理主机
公共配置
1 service mysqld stop
2 ping
3 setenforce 0
4 service iptables stop
5 安装集群软件包
5 没有mysql用户和组手动创建
tar -zxvf mysql-cluster-gpl-6.3.20-linux-i686-glibc23.tar.gz -C /usr/local/
mv mysql-cluster-gpl-6.3.20-linux-i686-glibc23 cluster
cd /usr/local/cluster
chown -R mysql:mysql /usr/local/cluster
配置管理节点
cd /usr/local/cluster
touch config.ini
vim config.ini 里面不能有空行!删掉空行
1 [ndbd default]
2 NoOfReplicas=2 保存数据份数
3 DataMemory=80M 查询硬件缓存
4 IndexMemory=18M 索引硬件缓存信息
5 [ndb_mgmd] 管理节点进程
6 id=1 表识
7 hostname=192.168.1.2 管理主机地址
8 datadir=/user/local/cluster/dbdata 收集到的数据存放到那里
9 [ndbd]
10 id=2 编号
11 Hostname=192.168.1.149
12 Datadir=/usr/local/cluster/dbdata
13 [ndbd]
14 id=3
15 Hostname=192.168.1.71
16 Datadir=/usr/local/cluster/dbdata
17 [mysqld]
18 Id=4
19 Hostname=192.168.1.111
21 [mysqld]
22 Id=5
23 Hostname=192.168.1.169
配置数据节点
mv /etc/my.cnf /etc/my.cnf.bak 该名
vim /etc/my.cnf 创建一个
[mysqld]
datadir=/usr/local/clster/dbdata 文件在那,和管理主机目录一致
ndbcluster 存储引擎
ndb-connectstring=192.168.1.2 谁管理
[mysql_cluster] 集群管理
ndb-connectstring=192.168.1.2 这个主机管理集群
配置 sql节点
mv /etc/my.cnf /etc/my.cnf.bak 该名
vim /etc/my.cnf 创建一个
[mysqld]
ndbcluster 存储引擎
ndb-connectstring=192.168.1.2 谁管理
[mysql_cluster] 集群管理
ndb-connectstring=192.168.1.2 这个主机管理集群
sql 节点
初始化 授权库
[root@xu cluster]# cd /usr/local/cluster/
[root@xu cluster]# ./scripts/mysql_install_db --user=mysql 初始化数据库
[root@xu cluster]# ls data/mysql/ 如果有文件就初始化成功
不同的角色启动不同的程序
启动管理进程 按照顺序启动
1 管理主机
[root@xu cluster]# cd /usr/local/cluster/
[root@xu cluster]# ./bin/ndb_mgmd -f ../config.ini 启动
[root@xu cluster]# pgrep mgmd 查看有没有P id号
[root@xu cluster]# ./bin/ndb_mgm 登录管理界面
ndb_mgm> show 查看信息
启动数据节点
[root@xu cluster]# cd /usr/local/cluster/bin
[root@xu bin]# ./ndbd 启动
pkill -9 ndbd 杀死进程
pgre ndbd 查看
启动sql节点
asdsd
[root@xu bin]# cd /usr/local/cluster/
[root@xu bin]# . /bin/mysqld_safe -user=mysql & 启动sql节点
[root@xu bin]# netstat -utanlp | grep :3306 查看端口是否被占用
[root@xu cluster]# ./bin/mysql 登录mysql
mysql> create table a(id int(3))engine=ndbcluster; 创建表的时候一定要指定
启动sql2节点
[root@xu bin]# cd /usr/local/cluster/
[root@xu bin]# . /bin/mysqld_safe -user=mysql & 启动sql节点
[root@xu bin]# netstat -utanlp | grep :3306 查看端口是否被占用
[root@xu cluster]# ./bin/mysql 登录mysql
ndb俩个节点 还有备份功能 ,