网站建设服务器
Mysql5.6部署集群基础设施环境
—————————
部署集群基础设施环境
Mysql-MMM架构部署
MYSQL-MMM架构的使用
部署集群基础设施环境
192.168.4.10主要1
192.168.4.11主要2
从属1
从属2
监视器
使用5个mysql5.6,其中192.168.4.10和192.168.4.11是mysql的双主服务器,192.168.4.12和192.168.4.13是主服务器的从服务器。
192.168.4.100作为mysql-MMM架构中的管理监控服务器,
步骤1:配置主机本地解析。
1.配置本地主机解析记录。
[root@master1 ~]# cat /etc/hosts
127.0.0.1本地主机本地主机.本地域本地主机4本地主机4 .本地域4
* 1 localhost localhost . local domain localhost 6 localhost 6 . local domain 6
master1.tarena.com
master2.tarena.com
slave1.tarena.com
slave2.tarena.com
192 168 4 100监测monitor.tarena.com
2.测试主机已成功解析。
[root@master1 ~]# ping -c 3 master1
PING主机1 (192.168.4.10) 56(84)字节的数据。
来自主机1的64个字节(192 . 168 . 4 . 10):icmp _ seq=1 TTL=64 time=0.019 ms
来自主机1的64个字节(192 . 168 . 4 . 10):icmp _ seq=2 TTL=64 time=0.019 ms
来自主机1的64个字节(192 . 168 . 4 . 10):icmp _ seq=3 TTL=64 time=0.022 ms
—掌握统计数据—
发送3个数据包,接收3个数据包,0%数据包丢失,时间2000毫秒
rtt最小值/平均值/最大值/mdev=0.019/0.020/0.022/0.001毫秒
—————————————————
步骤2:部署数据库主机
http://xmomo.blog.51cto.com/5994484/1939747
步骤3:部署双主多从结构。
1)数据库授权(四个数据库主机master1、master2、slave1和slave2执行以下操作)
只需要授权一个主从同步用户部署主从同步,但是我们需要部署mysql-MMM架构。
所以这里我们会为mysql-MMM所需要的用户设置授权。然后授权一个测试用户在架构完成后进行测试。
Master1设置:
[root @ master 1 ~]# MySQL-u root-ppwd 123
在数据库授权部分,我为了测试方便,允许所有地址直接访问,所以生产环境要谨慎。
*上的mysql授权复制从属服务器。*到由pwd123标识的slaveuser@%;//主从同步授权
查询正常,0行受影响(0.00秒)
*上的mysql授权复制客户端。*对monitor@%由monitor标识;//MMM需要模式用户授权
查询正常,0行受影响(0.06秒)
mysql grant复制客户端,进程,超级on *。*致代理@%由代理确定;//MMM需要模式用户授权
查询正常,0行受影响(0.00秒)
mysql grant all on *。*到由pwd123标识的root@%;//测试用户授权
查询正常,0行受影响(0.00秒)
关系型数据库
2)打开主数据库的bin-log log日志,设置server_id(master1,master2)。
Master1设置:
[root@master1 ~]# vi /etc/my.cnf
[mysqld]
Server_id=100 //Set server _ id,服务器的唯一ID,必须是1到232-1之间的整数。
Log-bin //(必须打开主库)打开bin-log日志。
Master2设置:
[root@master2 ~]# vi /etc/my.cnf
[mysqld]
server_id=101
原木仓
重启两个主要库的mysql服务。
3)从库中设置server_id(slave1,slave2)。
Slave1设置:
[root@slave1 ~]#vi /etc/my.cnf
[mysqld]
必须打开log-bin //主库。
服务器id=102
注意:在集群中,所有服务器ID号必须是唯一的。
mysql主库的二进制日志必须开启,从服务器的二进制日志功能不需要开启。
但是,您也可以通过启用从属服务器的二进制日志功能来备份和恢复数据。此外,在一些更复杂的拓扑环境中,mysql从服务器还可以充当其他从服务器的主服务器。
从属2设置:
[root@slave2 ~]#vi /etc/my.cnf
[mysqld]
原木仓
服务器id=103
重启两个从库的mysql服务。
4)配置主从关系
将主服务器2、从服务器1和从服务器2配置为主服务器1的从服务器。
查看主服务器1的bin-log日志中使用的节点信息:
[root @ master 1 ~]# MySQL-u root-ppwd 123
….
带读锁的mysql刷新表;
mysql显示主状态\\\\G
***************************1.第*************************行
文件:master1-bin.000001
位置:120
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
1行插图(0.00秒)
关系型数据库
mysql解锁表;
注意:在此步骤之后不要操作主服务器mysql,以防止主服务器的状态值发生变化。
为了防止其他主机操作主数据库,可以使用只读锁表来防止数据库被修改。
用读锁刷新表;该命令用于对所有数据库中的所有表执行只读锁定。
只读锁定后,所有数据库写操作都将被拒绝,但读操作可以继续。
锁定可以防止有人在查看二进制日志信息时修改数据。
最后,使用解锁表;语句结束全局锁。
将master2设置为master1的从库:
[root @ master 2 ~]# MySQL-u root-ppwd 123
….
mysql将master改为master _ host=\ \ ' 192 . 168 . 4 . 10 \ \ \ 'master_user=\\\'slaveuser\\\ 'master _ password=\ \ \ ' pwd123 \ \ \ 'master _ log _ file=\ \ \ ' master 1-bin . 000001 \ \ \ 'master _ log _ pos=120
数据复制的关键操作是配置从服务器连接主服务器进行数据复制。我们需要通知从属服务器建立网络连接的所有必要信息。
使用更改主到语句来完成工作。
MASTER_HOST指定主服务器的主机名或IP地址。
MASTER_USER是在主服务器上创建的具有复制权限的帐户的名称。
MASTER_PASSWORD是该帐户的密码。
主日志文件指定主服务器二进制日志文件的名称,
MASTER_LOG_POS是当前记录主服务器二进制日志的位置。
mysql启动从机;//启动同步过程
注意:我认为我以前是一个主设备和从设备,当我开始同步过程(1872)时,我报告了一个错误。您可以使用命令reset slave然后在更改主控形状时重新连接。
MySQL show slave status \ \ \ g//检查主从是否成功。
….
启动同步过程后,检查IO节点和SQL节点是否为Yes。如果两者都是,则主从正常。
Slave_IO_Running:是//IO节点正常。
Slave_SQL_Running:是//SQL节点正常。
….
通过以下方式将slave1设置为master1:
[root @ slave 1 ~]# MySQL-u root-ppwd 123
MySQL change master to master _ host=\ \ ' 192 . 168 . 4 . 10 \ \ \ 'master_user=\\\'slaveuser\\\ 'master _ password=\ \ \ ' pwd123 \ \ \ 'master _ log _ file=\ \ ' master 1-bin . 000001 \ \ \ 'master _ log _ pos=120
mysql启动从机;
mysql显示从属状态\\\\G
….
Slave_IO_Running:是//IO节点正常。
Slave_SQL_Running:是//SQL节点正常。
….
关系型数据库
通过以下方式将slave2设置为master1:
[root @ slave 2 ~]# MySQL-u root-ppwd 123
….
MySQL change master to master _ host=\ \ ' 192 . 168 . 4 . 10 \ \ \ 'master_user=\\\'slaveuser\\\ 'master _ password=\ \ \ ' pwd123 \ \ \ 'master _ log _ file=\ \ ' master 1-bin . 000001 \ \ \ 'master _ log _ pos=120
mysql启动从机;
mysql显示从属状态\\\\G
….
Slave_IO_Running:是//IO节点正常。
Slave_SQL_Running:是//SQL节点正常。
….
———————————————————————————————
5)配置主从关系,将主机1配置为主机2的从机。
检查master2的bin-log使用信息:
[root @ master 2 ~]# MySQL-u root-ppwd 123
….
mysql显示主状态\\\\G
***************************1.第*************************行
文件:master2-bin.000001
位置:120
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
1行插图(0.00秒)
将主机1设置为主机2的从机:
[root @ master 1 ~]# MySQL-u root-ppwd 123
….
mysql将master改为master _ host=\ \ ' 192 . 168 . 4 . 11 \ \ \ 'master_user=\\\'slaveuser\\\ 'master _ password=\ \ \ ' pwd123 \ \ \ 'master _ log _ file=\ \ \ ' master 2-bin . 000001 \ \ \ 'master _ log _ pos=120
mysql启动从机;
查询正常,0行受影响(0.27秒)
mysql显示从属状态\\\\G
….
Slave_IO_Running:是//IO节点正常。
Slave_SQL_Running:是//SQL节点正常。
….
6)测试主从式架构是否成功。
主控一更新数据,查看其它主机是否同步:
[root @ master 1 ~]# MySQL-u root-ppwd 123
….
关系型数据库显示数据库;
——————
|数据库|
——————
|信息模式|
| mysql |
|性能模式|
测试|
——————
四行插图(0.00秒)
关系型数据库创建数据库塔雷纳
关系型数据库显示数据库;
——————
|数据库|
——————
|信息模式|
| mysql |
|性能模式|
塔雷纳
测试|
——————
5行插图(0.00秒)
关系型数据库
master2主机查看:
[root @ master 2 ~]# MySQL-u root-ppwd 123-e显示数据库
警告:在命令行界面上使用密码可能不安全。
——————
|数据库|
——————
|信息模式|
| mysql |
|性能模式|
塔雷纳
测试|
——————
从属一主机查看:
[root @ slave 1 ~]# MySQL-u root-ppwd 123-e显示数据库
警告:在命令行界面上使用密码可能不安全。
——————
|数据库|
——————
|信息模式|
| mysql |
|性能模式|
塔雷纳
测试|
——————
从属2主机查看:
[root @ slave 2 ~]# MySQL-u root-ppwd 123-e显示数据库
警告:在命令行界面上使用密码可能不安全。
——————
|数据库|
——————
|信息模式|
| mysql |
|性能模式|
塔雷纳
测试|
——————
=============================================================
2 MySQL-嗯架构部署
使用5台摘录服务器,其中192.168.4.10、192.168.4.11作为关系型数据库双主服务器,192.168.4.12、192.168.4.13作为主服务器的从服务器,
192.168.4.100 作为MySQL-嗯架构中管理监控服务器,实现监控关系型数据库主从服务器的工作状态及决定故障节点的移除或恢复工作。
步骤一:安装MySQL-嗯
安装依赖妙的源(mysql集群内5台服务器主机1、主机2、从机1、从机2、监控器)均需安装
IVH http://分升。fedora项目。org/pub/epel/6/x86 _ 64/epel-release-6-8。没有拱门。每分钟转数
1) 安装监控程序
在管理服务器(监视器)上,执行下面命令:
[root@monitor ~]# yum -y安装MySQL-mmm-monitor * perl-Time-HiRes *
2) 安装代理程序
关系型数据库集群内四台服务器(主机1、主机2、从机1、从机2)
#美味可口安装MySQL-mmm-代理*
….
步骤二:修改配置文件
1)修改公共配置文件
本案例中关系型数据库集群的5台服务器(主机1、主机2、从机1、从机2、监视器)都需要配置,可以先配好一台后使用单细胞蛋白质复制。
[root @ master 1 ~]# vim/etc/MySQL-mmm/mmm _ common。会议
active_master_role writer
主机默认值
集群_接口eth0
PID _ path/var/run/mmm _ agentd。PID
bin_path /usr/lib/mysql-mmm/
replication_user slaveuser //设置主从同步的用户
replication_password pwd123 //设置主从同步用户密码
代理_用户代理//嗯-代理控制数据库用户
代理_密码代理//嗯-代理控制数据库用户密码
/主机
主机主机1 //设置第一个主服务器
IP 192。168 .4 .10//主机1个IP地址
模式主机
对等主机2 //指定另外一台主服务器
/主机
主机主机2 //指定另外一台主服务器
ip 192.168
模式主机
对等主机一
/主机
主机从机1 //设置第一台从服务器
IP 192。168 .4 .12//从属1个IP地址
模式从机//本段落配置的是奴隶服务器
/主机
主机从机2
ip 192.168
模式从属
/主机
角色作家//设置写入服务器工作模式
主机主机1、主机主机2 //提供写的主服务器
ips 192.168.4.200 //设置肠血管活性肽地址
模式独占//排他模式
/角色
角色读者//设置读取服务器工作模式
主机slave1、slave2 //提供读的服务器信息
ips 192.168.4.201,192.168.4.202 //多个虚拟互联网协议(互联网协议)
模式平衡//均衡模式
/角色
….
2)修改管理主机配置文件(监视器主机配置)
[root @ monitor ~]# vim/etc/MySQL-mmm/mmm _ mon。会议
包含mmm_common.conf
班长
ip 192.168.4.100//设置管理主机互联网协议(互联网协议)地址
pid_path /var/run/mmm_mond.pid
bin_path /usr/lib/mysql-mmm/
状态_路径/var/lib/misc/mmm_mond.status
ping_ips 192.168.4.10,192.168.4.11,192.168.4.12,192.168.4.13 //设置被监控数据库
/监视器
主机默认值
监视器_用户监视器//监控数据库关系型数据库用户
monitor_password monitor //监控数据库关系型数据库用户密码
/主机
调试0
….
[root@monitor ~]#
3)修改客户端配置文件
主控一配置
[root @ master 1 ~]# VI/etc/MySQL-mmm/mmm _ agent。会议
包含mmm_common.conf
这个主人一
master2配置
[root @ master 2 ~]# VI/etc/MySQL-mmm/mmm _ agent。会议
包含mmm_common.conf
这个主人2
从属一配置
[root @ slave 1 ~]# VI/etc/MySQL-mmm/mmm _ agent。会议
包含mmm_common.conf
这个奴隶一
从属2配置
[root @ slave 2 ~]# VI/etc/MySQL-mmm/mmm _ agent。会议
包含mmm_common.conf
这个奴隶2
==========================================================
3 MySQL-嗯架构使用
启动嗯集群架构
设置集群中服务器为在线的状态
MySQL-嗯架构部署完成后需要启动,数据库端启动嗯-代理人进程,管理端启动嗯-监视器进程,启动完成后设置所有数据库主机状态为在线。
步骤一:启动嗯集群架构
1)启动嗯-代理人进程
主控一操作:
[root @ master 1 ~]#/etc/init。d/MySQL-嗯-代理启动
master2操作:
[root @ master 2 ~]#/etc/init。d/MySQL-嗯-代理启动
从属一操作:
[root @ slave 1 ~]#/etc/init。d/MySQL-嗯-代理启动
从属2操作:
[root @ slave 2 ~]#/etc/init。d/MySQL-嗯-代理启动
2)启动嗯-监视器进程
班长主机操作:
[root @ monitor ~]#/etc/init。d/MySQL-mmm-监视器启动
步骤二:设置集群中服务器为在线的状态
控制命令只能在管理端班长服务器上执行。
查看当前集群中各服务器状态:
[root @ monitor ~]# mmm _ control show
主机1(192.168.4.10)主机/等待_恢复。角色:
主机2(192.168.4.11)主机/等待_恢复。角色:
从属1(192.168.4.12)从/等待_恢复。角色:
从属2(192.168.4.13)从/等待_恢复。角色:
设置四台数据库主机状态为在线:
[root @ monitor ~]# mmm _控制集_在线主一
正常:\\\ '主服务器1\\\ '的状态已更改为联机。现在你可以等待一段时间,检查它的新角色!
[root @ monitor ~]# mmm _控制集_在线主2
正常:\\\ '主服务器2\\\ '的状态更改为联机。现在你可以等待一段时间,检查它的新角色!
[root @ monitor ~]# mmm _控制集_在线从机一
正常:\\\'slave1\\\ '的状态已更改为联机。现在你可以等待一段时间,检查它的新角色!
[root @ monitor ~]# mmm _控制集_在线从机2
正常:\\\'slave2\\\ '的状态已更改为联机。现在你可以等待一段时间,检查它的新角色!
再次查看当前集群中各服务器状态:
[root @ monitor ~]# mmm _ control show
主控1(192.168.4.10)主控/在线。角色:作者(192.168.4.200)
主2(192.168.4.11)主/在线。角色:
从属1(192.168.4.12)从机/在线。角色:读者(192.168.4.201)
从属2(192.168.4.13)从机/在线。角色:读者(192.168.4.202)
步骤三:测试MySQL-嗯架构
2)MySQL-嗯虚拟互联网协议(互联网协议)访问测试
[root @ client ~]# MySQL-h 292。168 .4 .200-u根-ppwd 123-e显示数据库
警告:在命令行界面上使用密码可能不安全。
——————
|数据库|
——————
|信息模式|
| mysql |
|性能模式|
塔雷纳
测试|
——————
[root@client ~]#
[root @ client ~]# MySQL-h 292。168 .4 .201-u根-ppwd 123-e显示数据库
警告:在命令行界面上使用密码可能不安全。
——————
|数据库|
——————
|信息模式|
| mysql |
|性能模式|
塔雷纳
测试|
——————
[root@client ~]#
[root @ client ~]# MySQL-h 292。168 .4 .202-u根-ppwd 123-e显示数据库
警告:在命令行界面上使用密码可能不安全。
——————
|数据库|
——————
|信息模式|
| mysql |
|性能模式|
塔雷纳
测试|
——————
[root@client ~]#
3)主数据库宕机测试
[root @ master 1 ~]# service MySQL stop//停止主控一上服务
正在关闭mysql…[确定]
[root @ monitor ~]# mmm _ control show//查看集群内服务器状态
通过输出信息可以看到虚拟互联网协议(互联网协议)从主控一切换到主人2:
主服务器1(192.168.4.10)主/硬_离线。角色:
主2(192.168.4.11)主/在线。角色:作者(192.168.4.200)
从属1(192.168.4.12)从机/在线。角色:读者(192.168.4.201)
从属2(192.168.4.13)从机/在线。角色:读者(192.168.4.202)
[root @ client ~]# MySQL-h 292。168 .4 .200-u根-ppwd 123-e显示数据库//访问虚拟互联网协议(互联网协议)测试
警告:在命令行界面上使用密码可能不安全。
——————
|数据库|
——————
|信息模式|
| mysql |
|性能模式|
塔雷纳
测试|
——————
[root@client ~]#
MySQL-嗯集群架构就完成了。
过程中遇到的问题:
我在第一次嗯_控制显示查看集群服务器状态的时候,发现除了主控一的状态为等待恢复,其他三台为硬_离线。
这是因为我最开始创建的班长用户没有被同步过去,在主库主控一重新创建就好。
查看关系型数据库数据库中所有用户,
mysql SELECT DISTINCT CONCAT(\\\ '用户:\\\'\\\'\\\ '用户,\\\'\\\'\\\'@\\\'\\\ '主机,\ \ \ ' \ \ \ ' \ \ \ '\\\ ')作为来自mysql.user的查询;
还有一个问题,我的环境是虚拟机克隆的,配置主从的时候遇到UUID冲突的问题,
停止数据库把数据库所在目录下的auto.cnf备份一份之后,删除。重启就好了。
主库主控一一定要记得开启日志从属更新
更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理商官网:www.chenqinet.cn