全部
常见问题
产品动态
精选推荐

MySQL集群部署:一主多从

管理 管理 编辑 删除

MySQL的集群化部署具备高可用性,可以更好的保护业务系统的正常运作,所以这种模式是生产环境必备的安装模式。MySQL的集群化部署有多种模式,本文主要介绍一主多从的模式。

由于是生产环境的集群部署,大多都采用Linux系的系统,所以这里主要就以Linux系统为例,不再介绍Windows系统的搭建过程。

#环境准备

Ip地址主机名角色数据管理员密码公共配置
192.168.88.50Host50Master服务器123qqq…A关闭防火墙 禁用selinux
192.168.88.51Host51Slave服务器123qqq…A关闭防火墙 禁用selinux
192.168.88.52Host52Slave服务器123qqq…A关闭防火墙 禁用selinux

#配置流程

1、50主机配置Master 2、51主机配置Slave 3、备份50主机的sql到52主机上 4、52主机配置Slave

#实际操作

#第一步:50主机配置Master

  • 修改配置文件my.cnf
[root@host50 ~]# vim /etc/my.cnf
[mysqld]
server_id=50  # 指定server_id
log_bin=master50   # 定义日志名
:wq
  • 重启服务生效配置
[root@host50 ~]# systemctl  restart mysqld
  • 用户授权
# 进入mysql服务
[root@host50 ~]# mysql -uroot -p123qqq...A
# 创建用户并授权
mysql> grant replication slave on *.*  
    -> to repluser@"%" identified by "123qqq…A";
Query OK, 0 rows affected, 1 warning (0.00 sec)
  • 查看master信息,目的是查看File和Position的值
mysql> show master status;
+-----------------+----------+--------------+------------------+-------------------+
| File            | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-----------------+----------+--------------+------------------+-------------------+
| master50.000001 |      154 |              |                  |                   |
+-----------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

#第二步:51主机配置Slave

  • 修改配置文件my.cnf
[root@host51 ~]# vim /etc/my.cnf
[mysqld]
server_id=51  # 指定server_id
:wq
  • 重启服务生效配置
[root@host51 ~# systemctl  restart mysqld
  • 进入mysql服务,切记要保持主从数据库数据一致
[root@host51 ~]# mysql -uroot -p123qqq...A
  • 指定主服务器信息
mysql> change master to  
 -> master_host="192.168.88.50", # 主服务器Ip地址
 -> master_user="repluser" , # 主服务器添加用户名
 -> master_password="123qqq...A", # 用户密码
 -> master_log_file="master50.000001" , # 主服务器binlog日志名
 -> master_log_pos=154 ; # 偏移量
  • 启动slave进程
mysql> start slave;
  • 查看状态信息(IO线程和 SQL线程必须同时是YES 状态)
mysql> show slave status \G 

#第三步:备份50主机的sql到52主机上

  • 备份50主机的sql
  • --master-data完全备份完成时,把保存命令使用的日志名和偏移量保存到备份文件里
[root@host50 ~]# mysqldump -uroot –p123qqq…A 
--master-data -B db1 > /root/db1.sql
[root@host50 ~]# scp /root/db1.sql 192.168.88.52:/opt/
  • 52主机使用备份文件恢复数据
[root@host52 ~]# mysql -uroot -p123qqq...A  <  /opt/db1.sql                          
# 进入sql环境
[root@host52 ~]# mysql -uroot -p123qqq...A 
# 查看导入是否完成
Mysql> select count(*) from db1.t1;

#第四步:52主机配置Slave

  • 在备份文件里查看日志名和偏移量
[root@host52 ~]# grep master50 /opt/db1.sql 
CHANGE MASTER TO MASTER_LOG_FILE='master50.000001', 
MASTER_LOG_POS=2000;
  • 管理员root登录
[root@host54 ~]# mysql -uroot -p123qqq...A      
# 指定主服务器信息 
mysql> change master to  
 -> master_host="192.168.88.50", # 主服务器Ip地址
 -> master_user="repluser" , # 主服务器添加用户名
 -> master_password="123qqq...A", # 用户密码
 -> master_log_file="master50.000001" , # 主服务器binlog日志名
 -> master_log_pos=2000 ; # 偏移量
  • 启动slave进程
mysql> start slave;
  • 查看状态 (IO线程和 SQL线程必须同时是YES 状态)
mysql> show slave status \G     
Slave_IO_Running: Yes                           
Slave_SQL_Running: Yes
  • 测试一主多从的配置
# 在主服务器50插入新数据
mysql> insert into db1.t1 values(99988);
# 两台从服务器可以看到一样的数据
 [root@host51 mysql]# mysql -uroot -p123qqq...A 
Mysql> select * from db1.t1;
[root@host52 mysql]# mysql -uroot -p123qqq...A
Mysql> select * from db1.t1;
本文转载自:https://www.jianshu.com/p/995f6a69b497


请登录后查看

嘻嘻哈哈 最后编辑于2024-12-12 15:56:04

快捷回复
回复
回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
排序 默认正序 回复倒序 点赞倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推荐': '推荐'}}
{{item.is_suggest == 1? '取消推荐': '推荐'}}
沙发 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暂无简介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
99
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

快速安全登录

使用微信扫码登录
{{item.label}} 加精
{{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服