本文主要给大家介绍什么是mysql-mmm 高可用群集及怎么样搭建,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在创新互联行业资讯里面关注我的更新文章的。
目前创新互联公司已为近1000家的企业提供了网站建设、域名、雅安服务器托管、网站托管、服务器托管、企业网站设计、余干网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。主机名 | 系统 | 主要软件 | IP | 虚拟IP |
---|---|---|---|---|
mysql-master1 | CentOS 7.3 x86_64 | mmm | 192.168.217.129 | 192.168.217.100 |
mysql-master2 | CentOS 7.3 x86_64 | mmm | 192.168.217.130 | 192.168.217.100 |
mysql-slave1 | CentOS 7.3 x86_64 | mmm | 192.168.217.131 | 192.168.217.200 |
mysql-slave2 | CentOS 7.3 x86_64 | mmm | 192.168.217.132 | 192.168.217.210 |
monitor | CentOS 7.3 x86_64 | mmm | 192.168.217.133 |
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo #配置ALI云源,然后安装epel-release源。
yum clean all && yum makecache #删除缓存 下载到本地电脑缓存
yum -y install epel-release #安装epel 源 用于安装 mmm
yum -y install mysql-mmm* #安装 mmm 服务 在所有服务器上安装
vim /etc/my.cnf
[mysqld]
user = mysql #管理用户
basedir = /usr/local/mysql #工作目录
datadir = /usr/local/mysql/data #数据库文件
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid #pid 进程文件
socket = /usr/local/mysql/mysql.sock #链接数据库
server-id = 1
binlog-ignore-db=mysql,information_schema #不需要同步的数据库名称
log_slave_updates=true #从服务器更新二进制日志
sync_binlog=1 #同步二进制日志
auto_increment_increment=2 #字段一次递增值
auto_increment_offset=1 #自增字段的起始值
log-error=/usr/local/mysql/data/mysql_error.log #错误日志
general_log=ON #开启通用日志
general_log_file=/usr/local/mysql/data/mysql_general.log
log_bin=mysql-bin #二进制日志
slow_query_log=ON #开启慢查询日志
slow_query_log_file=mysql_slow_query.log
long_query_time=1
scp /etc/my.cnf root@192.168.217.130:/etc/ #对方有权限的用户和IP地址 输入yes 、密码进行复制
systemctl restart mysqld.service #修改所有数据库的 server-id 重启服务
mysql -u root -p #进入数据库
在m1上为m2授予从的权限,在m2上也要为m1授予从的权限
mysql>grant replication slave on *.* to 'replication'@'192.168.217.%' identified by '123456';
mysql>show master status; #记录日志文件名称和 位置值,在两台主上查看。
mysql>change master to master_host='192.168.217.129',
master_user='replication',master_password='123456',
master_log_file='mysql-bin.000001',master_log_pos=1104;
注意 指向的IP地址、日志名称、偏移量 ,不要搞错
mysql>start slave; #开启同步
mysql>show slave status\G; #查看链接状态
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
以上两台主都执行,从不需要 。可以在主服务器上创建数据库 、在另一台主服务器查看、删除,做测试。
指向随便一台主服务器即可
mysql>change master to master_host='192.168.217.129',
master_user='replication',master_password='123456',
master_log_file='mysql-bin.000001',master_log_pos=1104;
注意 指向的IP地址、日志名称、偏移量 ,不要搞错
start slave;
show slave status\G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
测试主从、主主、同步 情况
cd /etc/mysql-mmm/
vim mmm_common.conf
……
<host default>
cluster_interface ens32 #网卡名称
……
replication_user replication #主从授权用户
replication_password 123456
agent_user mmm_agent #代理用户
agent_password 123456
....
<host db1>
ip 192.168.217.129 #主服务器
mode master
peer db2
</host>
....
<host db2>
ip 192.168.217.130 #主服务器
mode master
peer db1
</host>
....
<host db3>
ip 192.168.217.131 #从服务器
mode slave
</host>
....
<host db4>
ip 192.168.217.132 #从服务器
mode slave
</host>
....
<role writer>
hosts db1, db2
ips 192.168.217.100 #主服务器虚拟IP地址
mode exclusive
</role>
....
<role reader>
hosts db3, db4
ips 192.168.217.200, 192.168.217.210 #从服务器虚拟IP地址
mode balanced
</role>
scp mmm_common.conf root@192.168.217.130:/etc/mysql-mmm/
scp mmm_common.conf root@192.168.217.131:/etc/mysql-mmm/
scp mmm_common.conf root@192.168.217.132:/etc/mysql-mmm/
scp mmm_common.conf root@192.168.217.133:/etc/mysql-mmm/
cd /etc/mysql-mmm/
vim mmm_mon.conf
……
ping_ips 192.168.217.129,192.168.217.130,192.168217.131,192.168.217.132 #数据库服务器地址
auto_set_online 10 #设置自动在线时间
……
<host default>
monitor_user mmm_monitor #监控用户
monitor_password 123456
</host>
在所有数据库上为mmm_agent授权
mysql>grant super, replication client, process on *.* to 'mmm_agent'@'192.168.217.%' identified by '123456';
在所有数据库上为mmm_moniter授权
mysql>grant replication client on *.* to 'mmm_monitor'@'192.168.217.%' identified by '123456';
flush privileges; #刷新
修改所有数据库的mmm_agent.conf文件
vim /etc/mysql-mmm/mmm_agent.conf
this db1 #/根据规mmm_common.conf 配置中<host db1> 对应的IP地址 修改
在所有数据库服务器上启动代理服务
systemctl start mysql-mmm-agent.service #开启代理服务
systemctl enable mysql-mmm-agent.service #开机自启动
systemctl start mysql-mmm-monitor.service #启动监控服务
mmm_control show #查看各节点的情况
db1(192.168.217.129) master/ONLINE. Roles: writer(192.168.217.100)
db2(192.168.217.130) master/ONLINE. Roles:
db3(192.168.217.131) slave/ONLINE. Roles: reader(192.168.217.200)
db4(192.168.217.132) slave/ONLINE. Roles: reader(192.168.217.210)
mmm_control checks all #各种OK 说明运转正常
mmm_control move_role writer db2 #手动指定活跃服务器 注意:不会抢占
mmm_control show #查看各节点的情况
db1(192.168.217.129) master/ONLINE. Roles:
db2(192.168.217.130) master/ONLINE. Roles: writer(192.168.217.100)
db3(192.168.217.131) slave/ONLINE. Roles: reader(192.168.217.200)
db4(192.168.217.132) slave/ONLINE. Roles: reader(192.168.217.210)
测试 :关闭 mysql-master1 服务 ,查看 mysql-master2 会不会抢占 。注意:等待一段时间查看 。
关闭 mysql-slave1 服务 ,mysql-slave1 虚拟IP会自动漂移到mysql-slave2上 ,mysql-slave2上会有两个地址 。
看了以上关于什么是mysql-mmm 高可用群集及怎么样搭建,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网站名称:什么是mysql-mmm高可用群集及怎么样搭建-创新互联
当前链接:https://www.cdcxhl.com/article46/ddcoeg.html
成都网站建设公司_创新互联,为您提供网站设计、ChatGPT、手机网站建设、企业建站、网站制作、移动网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联