热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Mysql主从复制及一些要注意的特殊设置

0.准备A.安装数据库:主从mysql数据库(mysqlserver)都安装好:版本上,mysql允许低版本master配高版本slavehttps:dev.mysql.comdocrefma

0.准备


A.安装数据库: 主从mysql数据库 (mysql server)都安装好:

版本上,mysql 允许 低版本master 配 高版本slave

https://dev.mysql.com/doc/refman/5.7/en/replication-compatibility.html

当然版本一致是最好了。


B.表同步和数据同步:在从数据库(slave),对 主数据库(master)的表进行数据同步和结构同步(如果只主从复制特定表格,则只针对特定表格同步就行,之后会讲如何配置)

用个navicat一类的工具可以很轻松地做 数据同步和结构同步


1.配置主从模式:


可以参照这位大神的文章:


itwork 的BLOG

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://369369.blog.51cto.com/319630/790921



2.一些小细节:

配置文件怎么找:

windows:  以5.7为例,配置文件位置为:ProgramData\MySQL\MySQL Server 5.7\my.ini

ubuntu:  vi /etc/mysql/my.cnf


mysql如何重启:

Ubuntu: /etc/init.d/mysql restart

windows: 可以从任务管理器服务里,找到mysql,或者用cmd:"net stop mysql57" "net start mysql57"


如果仅仅同步几个table:

slave数据库配置里,使用replicate-do-table 配置,有几个table写几条:

replicate-do-table=db_name.table_name

replicate-do-table=db_name.table_name

修改后记得重启mysql

请注意:db_name 和 table_name 都是 slave数据库本地的db和table名字,不要用master的名字!!

(卡了我好久都没发现错误。。。双方已经联通,然而表的修改监控被filter掉了。。)


如果master数据库的名字 和 slave的不一样:

比如master 叫 db123 , slave的叫 db456。

slave数据库配置里,使用replicate-rewrite-db 配置:

replicate-rewrite-db=db123->db456

做一个简单的名字重写就好。

修改后记得重启mysql。


如果你是VMWare虚拟机做为slave:

编辑slave的另一配置文件,

vi /etc/mysql/mysql.conf.d/mysqld.cnf

将  “bind-address   = 127.0.0.1 ” 这一行 注释掉


如何debug:

a.多查看 server Logs(如果在用 mysql workbench, 点击management,在“instance”栏下找到 server Logs), 里面会提示很多 warning 和 errors,根据错误搜索答案。

b. mysql 官方教学,一步一步查,一些常用指令就可以找到问题所在:

https://dev.mysql.com/doc/refman/5.7/en/replication-problems.html



3.资料参考:

这是mysql配置文件的配置项手册:

https://dev.mysql.com/doc/refman/5.7/en/replication-options-slave.html



推荐阅读
  • Requests库的基本使用方法
    本文介绍了Python中Requests库的基础用法,包括如何安装、GET和POST请求的实现、如何处理Cookies和Headers,以及如何解析JSON响应。相比urllib库,Requests库提供了更为简洁高效的接口来处理HTTP请求。 ... [详细]
  • 本文介绍了如何通过命令行有效地终止所有 Node.js 进程实例,以解决因端口冲突或其他服务冲突导致的问题。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 回顾两年前春节期间的一个个人项目,该项目原本计划参加竞赛,但最终作为练习项目完成。独自完成了从编码到UI设计的全部工作,尽管代码量不大,但仍有一定的参考价值。本文将详细介绍该项目的背景、功能及技术实现。 ... [详细]
  • 如何在Oracle ASM_Diskgroup中重命名现有磁盘
    如何在Oracle ASM_Diskgroup中重命名现有磁盘 ... [详细]
  • 本文介绍了.hbs文件作为Ember.js项目中的视图层,类似于HTML文件的功能,并详细讲解了如何在Ember.js应用中集成Bootstrap框架及其相关组件的方法。 ... [详细]
  • CSS Border 属性:solid 边框的使用详解
    本文详细介绍了如何在CSS中使用solid边框属性,包括其基本语法、应用场景及高级技巧,适合初学者和进阶用户参考。 ... [详细]
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • 本文详细探讨了在使用 Python 的 pip 工具安装包时遇到的 ReadTimeoutError 错误,并提供了有效的解决方案。 ... [详细]
  • 在OpenCV 3.1.0中实现SIFT与SURF特征检测
    本文介绍如何在OpenCV 3.1.0版本中通过Python 2.7环境使用SIFT和SURF算法进行图像特征点检测。由于这些高级功能在OpenCV 3.0.0及更高版本中被移至额外的contrib模块,因此需要特别处理才能正常使用。 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 理解浏览器历史记录(2)hashchange、pushState
    阅读目录1.hashchange2.pushState本文也是一篇基础文章。继上文之后,本打算去研究pushState,偶然在一些信息中发现了锚点变 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • 如何在PHP中安装Xdebug扩展
    本文介绍了如何从PECL下载并编译安装Xdebug扩展,以及如何配置PHP和PHPStorm以启用调试功能。 ... [详细]
author-avatar
Mr_JJwonG05
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有