mysql基于日志的主从复制详解


mysql基于日志的主从复制详解

总有人问我 会不会读写分离,我有时真的不知道怎么回答,这么滴吧,技术本身不难你,难的是咱们能不能遇得到这么大的项目。如果是真有这么大项目,光读写分离这个事肯定不是一两个人在搞,应该是多人协作的。

相关学习推荐:mysql视频教程

所以呢!我没搞过。

但是……

不能做实验环境吗?(一个尴尬的笑容)

我从找文档资料到实验落地,一共花了3天时间(因为不是全天都在围绕着这个事情哇)。基本搞定,就是说,如果有人问我会不会,我说我已经操作过了,不是什么难事。

具体注意点:


  1. 主从之间的防火墙需要放行
  2. mysql-id 得唯一 见 my.cnf
  3. uuid 得唯一 见 auto.cnf
  4. 主服务器要授权,一般授权一个sl*e账号给从服务器使用

常用几个命令(针对日志的方式)


  1. 在主库上操作的有

    mysql > show master status; #查看主库状态

    mysql >  grant replication sl*e on . to ‘sl*e‘@’%ip%’ identified by ‘password’;#  to 后面的 解释: ‘sl*e’ 代表哪个账户,@后面的是从服务器的IP by 后面的是密码;

    systemctl status firewalld # 查看防火墙状态

    firewall-cmd –list-all # 查看防火墙的端口列表

    firewall-cmd –permanent –zone=public –add-port=3306/tcp # 放行 3306 端口

    firewall-cmd –reload  # 重启防火墙

    另外 iptable 的话 可以自行看看哇

  2. 在从库上操作主要有

    1. mysql>  stop sl*e; // 停止复制
    2. mysql>  reset sl*e; // 重置复制
    3. mysql>  start sl*e; // 开启复制
    4. mysql> show sl*e status\G; # 查看状态

具体配置


  1. 环境介绍

    1. 主服务器  192.168.5.238   centos 7.4
    2. 从服务器 192.168.5.239    centos 7.4
    3. 利用日志来进行主从配置
  2. 主服务器上的配置

    1. 防火墙操作,防止后面出奇怪的问题 参考常用几个命令的防火墙操作

    2. mysql 的日志相关的配置  其他的先不用动 主要是看这段

      # aster live copy configure
      log-bin=mysql-bin  //日志文件名
      binlog_format=mixed  // 这个日志格式,还有几个选项,大家都选mixed  可选项statement/row/mixed,如果想深究 可以去看官方文档
      server-id   = 238 //为了不重复使用 尽量采用服务器IP 的最后一位来命名
      skip_name_resolve=ON //这个直接写上就可以了,参考一下别人的文档
      expire_logs_days = 10 //设置日志保存的天数,这个吧 我觉得可以不用加,加上也无所谓,因为在测试环境,如果正式上线跑的话,就要掂量一下了
      # /etc/init.d/mysql restart // 这个不一定是这个命令 看自己是用什么方式安装的 centos 也有 systemctl restart mysql的 这个不懂可以多研究一下linux操作
      ##如果两台服务器不是复制的话,auto.cnf 的uuid应该会不一样,如果是复制的话,就该看看了,这个在mysql的安装目录的 /var、目录下如果有 就把这个文件删除或者mv 备份一下

  3. mysql配置一下复制权限

    # mysql -uroot -p “password” //登入mysql服务器、会让你输入密码
      mysql>GRANT replication sl*e ON . TO ‘sl*e‘@’%’ IDENTIFIED BY ‘111111’; // 解释 replication 分配复制的权限 这个. 可以操作那个库  后面的‘sl*e‘@’%’ 表示任何主机用sl*e都可以进行从库复制,也可以指定到IP 后面就是密码哈
      mysql> show master status;
      +——————+———-+————–+——————+——————-+
      | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
      +——————+———-+————–+——————+——————-+
      | mysql-bin.000010 |     2812 |              |                  |                   |
      +——————+———-+————–+——————+——————-+
      1 row in set (0.00 sec)
      看到上面的这个表表示成功了

  4. 从库上的配置

    1. 修改my.cnf

      log-bin=mysql-bin  //日志文件名
      binlog_format=mixed //日志格式
      server-id   =239    //服务器ID 这个和主服务器一个解释,用IP的尾巴
      # expire_logs_days = 10  //这个我注释掉了,
      # early-plugin-load = “” //这个暂时没有使用,如果启用可以配置此项,主从复制这个项并不是关键项
      relay_log = mysql-relay-bin //这个是个从库的复制日志
      relay_log_index=relay_log.index //日志索引
      # /etc/init.d/mysql restart // 这个不一定是这个命令 看自己是用什么方式安装的 centos 也有 systemctl restart mysql的 这个不懂可以多研究一下linux操作

    2. 设置从库

      1. 进入从库的mysql 终端  #mysql -uroot -p //进入终端

        # mysql -uroot -p //进入终端(之所以写详细点,就是怕看到此文的人会误会操作不全)

      2. 关闭sl*e  # 注意配置从库之前先关闭掉sl*e;

        mysql>stop sl*e;  //这个是关闭从库哇,保证一把过

      3. 修改master参数

        mysql>change master to
        master_host=’192.168.5.238’,
        master_user=’sl*e’,
        master_password=’这里填上面设置主库复制权限时的密码’,
        master_log_file=’mysql-bin.000010’, //这里填 在主库 show master status 的文件名,位置对着抄就好了
        master_log_pos=2812; //在主库的show master status 里找

      4. 启动从库

        mysql>start sl*e; //启动从库

      5. 查看主从复制是否成功

        mysql> show sl*e status \G;

                 Sl*e_IO_State: Waiting for master to send event
                      Master_Host: 192.168.5.238
                      Master_User: sl*e
                      Master_Port: 3306
                    Connect_Retry: 60
                  Master_Log_File: mysql-bin.000010
              Read_Master_Log_Pos: 2812
                   Relay_Log_File: mysql-relay-bin.000013
                    Relay_Log_Pos: 3025
            Relay_Master_Log_File: mysql-bin.000010
                 Sl*e_IO_Running: Yes
                Sl*e_SQL_Running: Yes

        看到 Sl*e_IO_Running 和 Sl*e_SQL_Running 值 都为 Yes  说明就成功了,如果不成,请看下面的提示信息,对着谷歌 百度 应该能找出来的

        1. 我在配置时遇到了一个问题,就是报uuid错误,原因是我的实验环境是一个虚拟机安装完mysql后复制的,所以导致mysql的uuid 相同了

          # cd /usr/local/mysql/var
          # mv auto.cnf auto.cnf.back //这个你看有没有,没有就不操作,有就这样
          #  /etc/init.d/mysql restart  //重启数据库
          然后执行show sl*e status\G;观察两个yes

        2. 至此,基于日志的主从复制就完成了

总结:


  1. 防火墙 要先看
  2. 步骤无所谓,对着搞,直到成功
  3. 细心,不能慌

相关图文教程:mysql数据库图文教程

以上就是mysql基于日志的主从复制详解的详细内容,更多请关注其它相关文章!


# 问我  # 灌南网站优化公司电话号码  # 武汉网站建设费用低  # 吓人的网站建设  # 梅州百度seo引流  # 许昌网站平台推广代理  # 比较简单不需推广的网站  # 韶山网络营销推广策划  # 朝阳营销推广活动有哪些  # 未卡营销推广方案  # 高密网站关键词推广  # 这么大  # MySQL  # 会不会  # 不懂  # 也有  # 的是  # 解锁  # 对着  # 几个  # 镜像  # 主从复制  # 日志 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894 】


相关推荐: todesk如何添加信任设备_todesk信任设备设置教程  在Dash应用中自定义HTML标题和网站图标  sublime怎么快速在浏览器中预览HTML_sublime配置View in Browser教程  iQOO手机信号差网络不稳定怎么办 信号问题原因排查与增强设置【攻略】  家里的小飞虫总是不断,用什么方法可以彻底根除?  cad怎么隐藏指定的图层_cad隐藏或冻结图层方法  六级准考证号怎么查_四六级准考证查询入口官网  qq邮箱怎么注册_QQ邮箱注册步骤与注意事项  QQ网页版入口导航 QQ网页版在线访问通道  Win10运行窗口在哪里打开 Win10调出运行命令框快捷键【技巧】  百度浏览器无法安装扩展程序_百度浏览器插件安装失败原因解析  聚水潭ERP后台管理系统登录 聚水潭ERP官方登录通道  Flash AS3.0简易相册制作  composer 提示 "requires ext-soap" 缺少 SOAP 扩展怎么办?  外媒评《燕云十六声》DIY载具新玩法:很像《塞尔达传说王国之泪》!  Golang中的rune与byte类型区别是什么_Golang字符与字节处理详解  汽水音乐在线听歌网页版 汽水音乐在线听歌网页版入口  优化Asyncio嵌套函数调度:使用生产者-消费者模式实现并发流处理  Go反射进阶:访问内嵌结构体中的被遮蔽方法  Animex动漫社正版在线入口 Animex动漫社动漫官方观看网  c++如何掌握指针的核心用法_c++指针入门到精通指南  iPhone 15 Pro如何查看存储空间占用_iPhone 15 Pro存储空间查看教程  快手极速版在线体验区 快手极速版网页体验入口  京东快递包裹信息查询入口 京东快递官方查询平台入口  iPhone14无法连接蓝牙设备如何解决  tiktok国际版入口_tiktok官网网页版链接  小红书网页版首页入口 小红书网页版电脑端官方登录链接  电脑视频号|直播|如何分享屏幕  《深林》冬季章节图文攻略  J*aScript深度克隆:实现高效、健壮与安全的复杂对象复制  《植物大战僵尸3》火龙草作用介绍  悟空浏览器如何恢复关闭的标签页 悟空浏览器撤销关闭网页快捷键设置  铁路12306怎么申请退票_铁路12306退票申请操作流程  《鹿路通》退余额方法  韩剧圈正版官网入口_韩剧圈官方指定登录  Go Goroutine调度与并发执行深度解析  《搜书吧》阅读书籍方法  蜻蜓FM如何设置移动流量播放  Python中安全地将环境变量转换为整数的类型注解指南  windows10怎么更改下载路径_windows10默认存储位置修改教程  oppo手机如何通过下拉通知栏截图_oppo手机通知栏快捷截图方法  windows server2019显卡驱动怎么安装_winserver2019显卡驱动安装与远程桌面优化  告别繁琐SEO!如何使用SyliusSitemap插件自动化生成网站地图,提升搜索引擎排名  嘀嗒顺风车如何开具电子发票  React应用中Commerce.js数据加载与状态管理最佳实践  飞飞漫画漫画阅读官网_飞飞漫画漫画阅读官网进入阅读  小米手机截图后如何查看历史_小米手机截图历史记录查看方法  《procreate》绘制渐变效果教程  Yandex浏览器官方入口_Yandex搜索引擎中文版  抖音商城官网是什么_抖音商城官方网址与访问方法 

 2020-08-17

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.