mysql主从复制原理_MySQL主从同步

mysql主从复制原理_MySQL主从同步 mysql是现在普遍使用的数据库,但是如果宕机了必然会造成数据丢失。为了保证mysql数据库的可靠性。就要会一些提高可靠性的技术。主从复制原理如下。slave(从服务器)master(主服务器)mysql主从是异步复制过程master开启bin-log功能,日志文件用于记录数据库的读写增删需要开启3个线程,masterIO线程,slave开启IO线程SQL线程,…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

 

mysql是现在普遍使用的数据库,但是如果宕机了必然会造成数据丢失。为了保证mysql数据库的可靠性。就要会一些提高可靠性的技术。

主从复制原理如下。

slave(从服务器)

master(主服务器)

mysql主从是异步复制过程

master开启bin-log功能,日志文件用于记录数据库的读写增删
需要开启3个线程,master IO线程,slave开启 IO线程 SQL线程,
Slave 通过IO线程连接master,并且请求某个bin-log,position之后的内容。
MASTER服务器收到slave IO线程发来的日志请求信息,io线程去将bin-log内容,position返回给slave IO线程。
slave服务器收到bin-log日志内容,将bin-log日志内容写入relay-log中继日志,创建一个master.info的文件,该文件记录了master ip 用户名 密码 master bin-log名称,bin-log position。
slave端开启SQL线程,实时监控relay-log日志内容是否有更新,解析文件中的SQL语句,在slave数据库中去执行。

 

 

 

字有点多 上张图看看。

 

 

 

mysql主从复制原理_MySQL主从同步

吐舌头  应该有一定了解了吧。、

准备两个mysql,一个做主,一个做从。防火墙,selinux都要关闭,保证可以ping通对方

主服务器配置:

vi/etc/ntp.conf

添加:

server 127.127.1.0

fudge 127.127.1.0 stratum 8

service ntpd start    #因为同步数据 两个服务器的时间也要同步。

稍后要在从服务器执行来同步时间

vi/etc/my.cnf 

在配置文件49行

mysql主从复制原理_MySQL主从同步

其他内容都可以保持默认。

 

———————————————————————————————————

在主服务器登录mysql 给从服务器授权。

mysql> grant replication slave on *.* to zs@’192.168.43.%’ identified by ‘123456’;

授权用户zs 密码为123456 允许192.168.43.0的网络连接 一会儿要在slave上使用这个账号

—————————————————————————————-

show master status;    #此命令查看主服务器的bin-log日志文件名称和position点

mysql主从复制原理_MySQL主从同步

从服务器就是要指定这个文件maste-bin.000001 (随着mysql增删修改日志文件名字也有可能改变)  和 107 (position点 主服务器增删修改都会改变)所以现在开始就不要再在主服务器创表干啥的了,

mysqldump -uroot -p –opt –all-databases >/all_databases.sql  #导出主数据库的数据

scp -r /all_databases.sql root@192.168.43.2:/   #用scp把数据复制到从服务器。

因为主从复制是从主从关系建立完毕开始同步的。也就是现在 position 107之前的内容复制不了所以要手动复制主之前的数据导入从数据库。

 

从服务器配置:

/usr/sbin/ntpdate 192.168.43.22  #和主服务器同步时间。192.168.43.22为主服务器ip

mysql主从复制原理_MySQL主从同步

 

mysql主从复制原理_MySQL主从同步

 

 mysql -u root -p  </all_databases.sql   #导入数据

 

vi /etc/my.cnf

mysql主从复制原理_MySQL主从同步

修改后重启mysql服务

进入从服务器的mysql

change master to master_host=’192.168.43.22′,master_user=’zs’,master_password=’123456′,master_log_file=’maste-bin.000001′,master_log_pos=107;

 start slave;  #开启SQL线程

mysql主从复制原理_MySQL主从同步

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

 

mysql主从复制原理_MySQL主从同步

注意两个都要是yes才是正常。

查看效果,在主服务器上创建个库看看。

 

mysql主从复制原理_MySQL主从同步

从数据库也会有

 

mysql主从复制原理_MySQL主从同步

 

同样删掉数据库从数据库也会复制。

 

主库上删除一个数据库。

mysql主从复制原理_MySQL主从同步

 

 

从库上也没了。所以还是要备份数据库的。大笑

mysql主从复制原理_MySQL主从同步

 

完毕。希望对你有所帮助。再见。奋斗

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170313.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ES6数组方法汇总

    ES6数组方法汇总1.forEachforEach会遍历数组,没有返回值,不允许在循环体内写return,不会改变原来数组的内容.constarray=[1,2,3,4];array.forEach((item,index,array)=>{  console.log(item)//顺序打出1234})2.mapmap遍历数组,会返回一个新…

    2022年6月12日
    37
  • a标签下划线的距离问题[通俗易懂]

    a标签下划线的距离问题[通俗易懂]需求a标签下划线距离太接近了,需要调整一下页面代码<pclass=”text_align_r”><spanclass=”ordersave_info”><s:textname=”order_submited_tip”/></span><ahref=”/to_be_signed.html”><s:textname=”order_submited_a_tip”/></a></p&

    2022年6月7日
    48
  • linux目录结构详解_linux系统文件在哪个目录

    linux目录结构详解_linux系统文件在哪个目录前言平常linux系统用的也不少,那么linux下的每个目录都是用来干什么的,小伙伴们有仔细研究过吗?让我们来了解下吧Linux系统目录结构登录系统后,在当前命令窗口下输入命令:[root@

    2022年7月29日
    3
  • python抛出异常会终止程序吗_catch里面抛出异常

    python抛出异常会终止程序吗_catch里面抛出异常Python抛出异常

    2022年10月18日
    2
  • matlab读.h5文件「建议收藏」

    matlab读.h5文件「建议收藏」之前用python给nuswide提取了VGG19特征,因为文件太大,超过.mat限制,存成.h5,见[1]。现在一个matlab程序要读,可以用h5disp查看.h5文件内容的结构(各个datasets),然后用h5read读。注意两点:文件名的类型要是char而不能是string,否则报错好像被自动转置了一次?我当初存的时候应该是n×dn\timesdn×d的,但读出来的时候变成d×nd\timesnd×n了(不知道是h5py[1]在存

    2025年9月4日
    4
  • CAS单点登录-简介(一)「建议收藏」

    CAS单点登录-简介(一)「建议收藏」CAS单点登录-简介(一)CAS-5.1.3什么是CAS?什么是单点登录?带大家一起搭建sso、cas-management、springbootadmin、springcloudconfig

    2022年6月7日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号