话不多说,直接干。

准备条件:安装两个mysql数据库,随便哪个作主库,另一个从库。

1.在主库创建 复制用的账号

grant replication slave ,replication client on *.* to repl@'192.168.125.%' identified by 'repl';

上面创建了账户repl,密码repl,赋予了权限replication slave(必要),replication client(非必要),*.* 意思是任意数据库的任意表。其中的192.168.125.% 表示此用户可以从ip开头为192.168.125的机器上访问主库。

2.配置主库 ,linux下配置文件路径 /etc/my.cnf ,windows下路径:MySQL\MySQL Server 5.7\my-default.ini

打开后编辑,添加 或修改下面两行。

log_bin = master-bin
server_id = 128

server_id 的值随便设,每个数据库唯一。login_bin 指定主库生成的二进制文件的名字

重启 主库的服务,然后登录主库执行 show master status;

出现上面的图表示正常开启,主库配置完毕。

3.配置从库,仍然是my.cnf (linux) ,或 my-default.ini(windows)

添加或修改下面2行:

server_id = 127

relay_log = /var/lib/mysql/mysql-relay-bin

server_id 指定mysql数据库唯一标识,relay-log是指定中继日志(下面解释)的位置和名字

4.启动slave

重启 从库,登录后执行

change master to master_host = '主库ip' ,master_user='repl', master_password='repl', master_log_file='master-bin.000001',master_log_pos=0;

然后使用 start slave;  开启复制。可以通过 show slave status\G; 查看复制信息如下图;

这时候可以登录主库,更改主库数据,看看从库是否同步发生变化。

5.主从如何复制

复制有三个步骤:

1. 主库把数据更改记录在二进制文件(上面的master-bin)中

2.从库 把主库的二进制文件复制到自己的中继日志中。

3.从库读取中继日志并执行。

见上图。实际上,从库会启动一个IO线程与主库建立连接,并获取主库的更新事件,转储到中继日志。同时从库启动一个SQL线程,从中继日志读取记录并执行。既是允许获取事件和重放事件 异步进行。

中继日志可能存在多个(00001,00002....),SQL线程执行完中继日志后会尽快将其删除(通过relay_log_purge参数控制)。

linux 下 mysql 主从配置的更多相关文章

  1. windows下mysql和linux下mysql主从配置

    1. linux下mysql安装版本5.6   windows下mysql版本5.7  不要问我为什么版本不一致  就是想这么搞 2. linux为主服务器   windows为从服务器 3.找到li ...

  2. Linux下mysql主从配置

    mysql服务器的主从配置,这样可以实现读写分离,也可以在主库挂掉后从备用库中恢复需要两台机器,安装mysql,两台机器要在相通的局域网内主机A: 192.168.1.100从机B:192.168.1 ...

  3. linux中MySQL主从配置(Django实现主从读写分离)

    一 linux中MySQL主从配置原理(主从分离,主从同步) mysql主从配置的流程大体如图: 1)master会将变动记录到二进制日志里面: 2)master有一个I/O线程将二进制日志发送到sl ...

  4. windows环境下mysql主从配置

    mysql主从配置. 相关理论知识可以百度一下,这里就不多说了,直接说如何配置. 一.环境介绍及说明 主库所在的操作系统:win7 主库的版本:mysql-5.6.24-winx64.zip 主库的i ...

  5. linux系统mysql主从配置

    一.原理 mysql主从配置的流程大体如图: 1)master会将变动记录到二进制日志里面: 2)master有一个I/O线程将二进制日志发送到slave; 3) slave有一个I/O线程把mast ...

  6. Linux下MySQL主从同步配置

    Centos6.5 MySQL主从同步 MySQL版本5.6.25 主服务器:centos6.5 IP:192.168.1.101 从服务器:centos6.5 IP:192.168.1.102 一. ...

  7. linux下 mysql主从备份

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/czh0423/article/details/26720539 一.准备 用两台server做測试: ...

  8. debian下mysql主从配置

    1.确保master/slave只有一份/etc/mysql/my.cnf , 不要在其他地方再有my.cnf (如/etc/my.cnf  /usr/local之类) 2.master配置: 在[m ...

  9. win7下 mysql主从配置实现

    win7下学习 mysql主从复制 一.环境: 主服务器(master):192.168.1.23 mysql版本:5.5 从服务器(slave):192.168.1.24 mysql版本:5.5   ...

随机推荐

  1. OrderSys---Spring 计划(第一天)

    Sprint 计划会议: 目标: 1.了解需求分析书的内容 2.划分OrderSys的功能模块 3.开始制作原型 Sprint 3 Backlog细化: ID Name Est How to demo ...

  2. Right-BICEP单元测试

    一.测试方法:Right-BICEP Right-结果是否正确? B-是否所有的边界条件都是正确的? I-能查一下反向关联吗? C-能用其他手段交叉检查一下结果吗? E-你是否可以强制错误条件发生? ...

  3. (一)java数据类型图

    ┏数值型━┳━整数型:byte short int long               ┏基本数据类型━━┫              ┗━浮点型:float double              ...

  4. 基于 IBM WAS ND v6.1 搭建稳定高效的集群环境

    如今的电子商务及电子政务应用系统的发展已经到了一个新的阶段,应用系统的成熟度和可用性都达到了更高的水准.因此庞大的部署规模和海量的用户访问成为目前大型电子商务及电子政务应用系统的显著特征.在这样的情况 ...

  5. ajax跨域问题(三种解决方案)

    为什么会出现跨域 跨域问题来源于JavaScript的同源策略,即只有 协议+主机名+端口号 (如存在)相同,则允许相互访问.也就是说JavaScript只能访问和操作自己域下的资源,不能访问和操作其 ...

  6. phaser3 微信小游戏若干问题

    纯属个人兴趣, 如有兴趣可共同参与维护. git: https://gitee.com/redw1234567/phaser3_wx image的地方需要修改,代码贴上 var ImageFile = ...

  7. 在Eclipse中开发WEB项目

    本文的演示是从本地文件创建dynamic web project,从svn检出的同时创建dynamic web project于此类似.我们推荐使用解压版的tomcat6.x版本,来作为服务器.可以到 ...

  8. 【UNIX环境编程、操作系统】孤儿进程和僵尸进程

    基本概念: 在类UNIX系统中,僵尸进程是指完成执行(通过exit系统调用,或运行时发生致命错误或收到终止信号所致)但在操作系统的进程表中仍然有一个进程表表项(进程控制块PCB),处于"终止 ...

  9. bzoj3545-bzoj3551-Peaks

    题意 给出一个图,边有边权,点有点权,每次询问一个点 \(x\) 只走边权小于等于 \(d\) 的边能到达的点中点权第 \(k\) 大. 强制在线,\(n\le 10^5,m,q\le 5\times ...

  10. luogu 2115 破坏(01分数规划)

    题意:给出一个序列,删除一个连续的子串后使得剩下的平均值最小. 典型的01分数规划,令f(x)=(sum1[i]+sum2[j])/(i+j).sum1表示前缀和,sum2表示后缀和,那么我们就相当于 ...