1.为什么要主从同步?

在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一。尤其是在大规模系统中,数据库集群已经成为必备的配置之一。集群的好处主要有:查询负载、数据库复制备份等。其中Master负责写操作的负载,也就是说一切写的操作都在Master上进行,而读的操作则分摊到Slave上进行。这样一来的可以大大提高读取的效率。写操作涉及到锁的问题,不管是行锁还是表锁还是块锁,都是比较降低系统执行效率的事情。我们这样的分离是把写操作集中在一个节点上,而读操作其其他的N个节点上进行,从另一个方面有效的提高了读的效率,保证了系统的高可用性。

2.mysql主从同步

我的要同步的两台mysql数据库版本都是mysql5.7,两台电脑都在同一个网段之中。

①修改主数据库my.ini/my.cnf配置:

Server-id = 1  //这是数据库ID,此ID是唯一的,ID值不能重复,否则会同步出错;

log-bin = mysql-bin //开启binglog日志,二进制日志文件,此项为必填项,否则不能同步数据

binlog_format=mixed //二进制日志的格式,有三种:statement/row/mixed

binlog-do-db = testcreate  //需要同步的数据库,如果还需要同步另外的数据库,那么继续逐条添加,如果 不写,那么默认同步所有的数据库;

binlog-ignore-db = mysql //不需要同步的数据库;

修改完成之后重启mysql服务。

MySQL 服务重启

service mysqld restart

② 添加主数据库用于同步的账号:

给主数据库授权一个可以进行复制的用户,执行如下命令:

grant replication slave on *.* to 'slave'@'%' identified by '123456';

③显示主数据库的同步信息:

可以看出已经产生了二进制的日志文件信息,mysql的同步就是通过这个二进制日志文件进行同步,主数据库把对数据库的操作的指令都记录到该日志文件下,从数据库通过读取该文件,来对从数据库中的数据进行修改,从而达到主从同步的效果。

④配置从数据库的my.ini

从数据库的话只需要配置server-id,binlog-do-db,binlog-ignore-db即可。

⑤设置从数据库链接到主数据库

在mysql下执行stop slave;命令,停止slave服务;

mysql> change master to

-> master_host='192.168.1.189',

-> master_user='slave',

-> master_password='123456',

-> master_log_file='mysql-bin000014.000001',

-> master_port=3306,

-> master_log_pos=107;

注意:这里的master_log_file,master_log_pos的值要和master的值一致。否则会无法同步。

执行start slave;命令,启动服务。

注意:在这里可能会无法链接到主数据库,需要看主数据库中my.ini中bind 127.0.0.1是否没有被注释,如果没有,那么只能在本机登录,而不能使用远程登录方式。

⑥验证是否同步:

show slave status\G;

得到如下结果则说明同步成功。

Slave_IO_Running :从主服务器成功的bin-log日志同步并拿到数据

Slave_SQL_Running: 从服务器成功地执行SQL语句

上面两项均为yes,说明配置成功。

从服务器相关命令

start slave; //启动从服务器

stop slave; //停止从服务器

show slave status; //查看从服务器状态

show master logs; //查看主服务器 bin-log 日志

change master to …… //动态改变到主服务配置

show processlist; //查看从服务器运行进程

主从数据不一致

第一种方法

stop slave;set global sql_slave_skip_counter=1; //跳过一步错误

start slave;

第二种方法:

stop slave;

show master status;//查看主服务器bin-log日志

change master to…… //手动同步 ,指定日志文件和文件位置 master-log-file="mysql-bin.00001" master-log-pos=20

重启从服务器,查看 show slave status\G,Slave_IO_Running、Slave_SQL_Running 都为 YES,同步成功。

注意:第一次同步时需要主从库数据一样

mysql 从服务器同步设置_mysql主从同步配置相关推荐

  1. mysql+主从同步端口_MySQL主从同步配置

    MySQL主从同步 1. 主从同步的定义 主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave).因为复 ...

  2. mysql 主从同步 速度_MySQL主从同步延迟原因及解决办法

    MySQL主从同步延迟原因及解决办法 MySQL主从延迟原因以及解决方案: 谈到MySQL数据库主从同步延迟原理,得从mysql的数据库主从复制原理说起,mysql的主从复制都是单线程的操作(mysq ...

  3. mysql设置主从同步只读_MySql主从同步设置

    主MySql服务器A:192.168.1.3 从MySql服务器B:192.168.1.4 1.编辑A的my.cnf,一般在/etc/my.cnf,在[mysqld]下面添加 log-bin=mysq ...

  4. mysql主从同步端口_mysql主从同步设置

    在主机的my.cnf中的mysqld模块下添加 log-bin=mysql-bin server-id=1(随便,只要和slave不一样就行,一般可用IP末尾) 在从机的mysqld模块下添加serv ...

  5. mysql主从同步时间设置_MySQL主从同步的配置

    mysql主从同步的配置 主要实现单向主从同步模式的实现,原理图如下 主库(master):192.168.221.128 从库(slave):192.168.221.129 配置步骤: 1) ①.编 ...

  6. mysql 主从同步不一致_MySQL 主从同步延迟的原因及解决办法

    mysql 用主从同步的方法进行读写分离,减轻主服务器的压力的做法现在在业内做的非常普遍. 主从同步基本上能做到实时同步.我从别的网站借用了主从同步的原理图. 在配置好了, 主从同步以后, 主服务器会 ...

  7. mysql主从复制延时性问题_MySQL主从同步延迟原因及解决办法

    MySQL主从延迟原因以及解决方案:谈到MySQL数据库主从同步延迟原理,得从mysql的数据库主从复制原理说起,mysql的主从复制都是单线程的操作(mysql5.6版本之前),主库对所有DDL和D ...

  8. mysql 同步方式_MYSQL 主从同步详解

    关于MYSQL主从同步 什么是MYSQL的主从复制 主从复制是指将一个服务器作为主服务器,所有的数据更新操作都在主服务器进行,并且将主服务器的数据同步到一个或多个从服务器,保证从服务器和主服务器的数据 ...

  9. mysql 主从同步权限_MYSQL 主从同步详解

    关于MYSQL主从同步 什么是MYSQL的主从复制 主从复制是指将一个服务器作为主服务器,所有的数据更新操作都在主服务器进行,并且将主服务器的数据同步到一个或多个从服务器,保证从服务器和主服务器的数据 ...

最新文章

  1. 网站下载器WebZip、Httrack及AWWWB.COM网站克隆器
  2. python语法大全-python语法大全,python语法手册
  3. 如何修复重编译Datapump工具expdp/impdp
  4. 想了解Sleuth+zipkin分布式请求链路追踪,来看看这篇文章吧!
  5. sierra mysql_macOS High Sierra 使用 Homebrew 安装 MYSQL 5.7
  6. linux php安装memcached扩展
  7. C# 乐观锁、悲观锁、共享锁、排它锁、互斥锁
  8. 自定义滚动条(Custom ScrollBar)
  9. CoreData整理(二)——多线程方案
  10. python 字符串赋值操作(分别使用三 种分隔符),Python学习笔记(3)字符串,python,三...
  11. Stale branches 设置_Mac OS 网络设置教程 wifi设置与宽带设置详解
  12. block,inline和inline-block
  13. 剑指 Offer——和为 S 的两个数字
  14. 接口自动化测试框架必备的9个功能举例
  15. 离线安装docker镜像
  16. npm install 报错 this command with --force, or --legacy-peer-deps
  17. 气味识别以及气味数字化存储技术
  18. 服务器多个cpu的作用,服务器多核CPU是什么?多核CPU有什么用?
  19. js页面跳转 和 js打开新窗口 方法
  20. 医院九阵系统服务器电源,九阵医院信息管理系统

热门文章

  1. 阿里云天池 Python训练营Task4: Python数据分析:从0完成一个数据分析实战 学习笔记
  2. 好程序员web前端分享JS引擎的执行机制
  3. [翻译练习] 对视图控制器压入导航栈进行测试
  4. html5--3.16 button元素
  5. 在gitlab 中使用webhook 实现php 自动部署git 代码
  6. 20155229 实验一《Java开发环境的熟悉》实验报告
  7. 基于plotly数据可视化_如何使用Plotly进行数据可视化
  8. srpg 胜利条件设定_英雄联盟获胜条件
  9. 响应式网站设计_通过这个免费的四小时课程,掌握响应式网站设计
  10. 算法训练营 重编码_编码训练营后如何找到工作