位置: 编程技术 - 正文

Mysql中复制详细解析(mysql复制表语句)

编辑:rootadmin

推荐整理分享Mysql中复制详细解析(mysql复制表语句),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql数据表复制,mysql复制表语句,mysql复制表sql,mysql复制命令,mysql复制命令,mysql复制表语句,mysql怎么复制数据,mysql中如何复制粘贴,内容如对您有帮助,希望把文章链接给更多的朋友!

1.mysql复制概念

指将主数据库的DDL和DML操作通过二进制日志传到复制服务器上,然后在复制服务器上将这些日志文件重新执行,从而使复制服务器和主服务器的数据保持同步。复制过程中一个服务器充当主服务器(master),而一个或多个其它服务器充当从服务器(slaves)。主服务器将更新重新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器、从服务器在日志中读取的最后一次成功更新的位置。从服务器接受从那时起发生的任何更新,然后封锁并等待主服务器通知新的更新。

2.复制的用途

通过主从复制(master-slave)的方式来同步数据,再通过读写分离(mysql-proxy)来提升数据库的并发负载能力,或者用来作为主备机的设计,保证在主机停止响应之后在很短的时间内就可以将应用切换到备机上继续运行。

优势:

(1)数据库集群系统具有多个数据库节点,在单个节点出现故障的情况下,其他正常节点可以继续提供服务。(2)如果主服务器上出现了问题可以切换到从服务器上(3)通过复制可以在从服务器上执行查询操作,降低了主服务器的访问压力,实现数据分布和负载均衡(4)可以在从服务器上进行备份,以避免备份期间影响主服务器的服务。

3.复制的实现(3种方法)

(1)DRBD是一种用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。(2)Mysql cluster(又称mysql簇)。Mysql replicaion(复制)本身是一个比较简单的结构,即一台从服务器(slave)从一台主服务器(master)读取二进制日志然后再解析并应用到自身。(3)一个简单复制环境只需要两台运行mysql的主机即可,甚至可以在一台物理服务器主机上启动两个mysqld实例。一个作为master而另一个作为slave来完成复制环境的搭配。但是在实际应用环境中,可以根据实际的业务需求利用mysql复制的功能自己搭建出其他多种更利于扩展的复制架构,如最常用的主从架构。 主从架构指的是使用一台mysql服务器作为master,一台或多台mysql服务器作为slave,将master的数据复制到slave上。在实际应用场合,主从架构模式是mysql复制最常用的。一般在这种架构下,系统的写操作都是在master中进行,而读操作则分散到各个slave中进行,因此这种架构特别适合现在互联网高读写的问题。

Mysql数据库复制操作大概分为以下几个步骤:

(1)master启用二进制日志。启用二进制日志的操作在日志管理中有详细的介绍。(2)slave上面的I/O进程连接上master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容。(3)master接受到来自slave的I/O进程请求后,通过负责复制的I/O进程根据请求信息读取指定日志指定位置之后的日志信息,返回给slave的I/O。返回信息中除了日志所包含的信息之外,还包括本次返回的信息已经到master端的bin-log文件的名称以及bin-log的位置。(4)Slave的I/O进程接收到信息后,将接收到的日志内容依次添加到slave端的relay-log文件的最末端,并将读取到的master端的bin-log的文件名和位置记录到master-info文件中。(5)Slave的sql进程检测到relay-log中新增的内容后,会马上解析relay-log的内容,并在自身执行。

4.mysql复制的集中模式

mysql5.1之后的版本中,在复制方面的改进就是引进了新的复制技术——基于行的复制。这种技术就是关注表中发生变化的记录,而非以前的照抄binlog模式。从mysql5.1.开始,可以用以下3种模式来实现。

(1)基于sql语句的复制(statement-base replication,sbr)(2)基于行的复制(rbr)(3)混合模式复制(mbr)

相应的,binlog的格式也有3种:statement、row、mixed。Mbr模式中,sbr模式是默认的。在运行时可以动态地改变binlog的格式。设定主从复制模式的方法非常简单,只要在以前设定复制配置的基础上,再添加一个参数,如下:

当然了,也可以在运行时动态修改binlog的格式

5.控制主服务器操作

Master:...Slave:...

(1)主服务器:

在主服务器上开启二进制日志:

OFF表示二进制日志是关闭的

开启日志3步骤:

①开启mysql安装目录/my.cnf②找到[mysqld]这个标签,在此标签下面一行,添加语句如下:

log_bin[filename]

在该语句中,log-bin说明要开启二进制文件;filename是二进制日志的名字。如果没有指定,默认为主机名后面跟-bin作为文件名,默认存放在datadir目录中。在这里指定binary_log如果只对指定数据库生成二进制文件,则需要添加如下语句

如果不对指定数据库生成二进制文件日志,则需要添加如下语句

Mysql中复制详细解析(mysql复制表语句)

③重启mysql服务。可以在mysql安装目录/data文件夹下看到“binary_log.数字编号”文件,如binary_log..以后每重启一次mysql服务,都会重新生成二进制文件,文件名中的数字编号一次增加。

开机成功后,修改mysql的配置文件my.cnf,设置server-id,代码如下

在master上创建复制所需要的用户

将master主机的数据备份出来,保存在/data/binary_dump.txt文件中,然后导入到slave从机中去,具体执行语句如下

(2)控制从服务器操作

修改从服务器的数据库配置文件,配置如下:

常用命令如下

选项

功能

Slave start

启动复制线程

Slave stop

停止复制线程

Reset slave

重置复制线程

Show slave status

显示复制线程状态

Show slave statusg

显示复制线程状态(分行显示)

Show master statusG

显示主数据库的状态(分行显示)

Show master logs

显示主数据库日志

Change master to

动态改变到主数据库的配置

Show processlistv

显示有哪些线程正在运行

标签: mysql复制表语句

本文链接地址:https://www.jiuchutong.com/biancheng/312064.html 转载请保留说明!

上一篇:MySQL5.6安装步骤图文详解(mysql 5.6安装教程)

下一篇:windows 10下解压版MySql安装配置方法教程(window10解压文件)

  • SQL Server配置管理器无法连接到WMI提供程序(SQL server配置管理器打开TCP/IP后重启不了)

    开始运行Cmd.exe进命令行

    进入安装目录cd /Program Files/Microsoft SQL Server//Shared

    输入 mofcomp "C:/Program Files/Microsoft SQL Server//Shared/sqlmgmproviderxpsp2up.mof" class="img-responsive" alt="SQL Server配置管理器无法连接到WMI提供程序(SQL server配置管理器打开TCP/IP后重启不了)">

    SQL Server配置管理器无法连接到WMI提供程序(SQL server配置管理器打开TCP/IP后重启不了)

  • windows系统钥匙盘制作及启动密码的设置

    windows系统钥匙盘制作及启动密码的设置

  • ubuntu不使用命令方式怎么添加软件源?(ubuntu可以不关机吗)

    ubuntu不使用命令方式怎么添加软件源?(ubuntu可以不关机吗)

  • Win7系统玩英雄联盟经常自动关机的故障原因分析及解决方法(win7系统玩英雄联盟黑屏怎么办)

    Win7系统玩英雄联盟经常自动关机的故障原因分析及解决方法(win7系统玩英雄联盟黑屏怎么办)

  • Python及PyCharm下载与安装教程(pycharm下载安装)

    Python及PyCharm下载与安装教程(pycharm下载安装)

  • vue2.0使用swiper组件实现轮播效果(vue switch组件)

    vue2.0使用swiper组件实现轮播效果(vue switch组件)

  • 转出未交增值税在借方是什么意思
  • 增值税专票开户行
  • 暂估收入的必要条件
  • 存款利息收入需要缴纳所得税吗
  • 机械租赁带司机税目
  • 预收货款多长时间结清
  • 高铁票抵扣增值税
  • 车购税申报表如何作废重开
  • 汇兑损益需要缴税吗
  • 年终零余额账户有余额
  • 技术变动成本是指
  • 国际货运代理免税
  • 防伪税控开票系统SOAP服务端
  • 建筑公司资源税的征税
  • 企业从事生产经营活动时所持有的基本信念
  • 不用开票的收入有哪些
  • 所得税年报报完了怎么更正季报
  • 预收购货款的会计分录
  • 个税申报已经扣了怎么办
  • 销售产品配件计入什么科目
  • u盘中装系统
  • 电脑自带网速测试
  • php中this和self的区别
  • 公司不运营了需要注销吗
  • 企业职工福利费的扣除标准是多少?
  • 职工薪酬纳税调整明细表怎么填写
  • php的mysql_query
  • 开具信用证费用由谁承担
  • nodejs如何使用
  • chatbot下载
  • vue全家桶教程
  • 【深度学习】AI一键换天
  • 与http缓存有关的header
  • js继承方式及其优缺点
  • 小规模纳税人广告税率是多少
  • 建筑公司劳务发票
  • SQLite优化方法
  • 银行存钱转账
  • 删除一张表的某一条记录
  • sql2008用ip连接不了
  • 不动产经营租赁包括哪些内容
  • 增值税专用发票几个点
  • 商场收取租户电费合法吗
  • 提取法定盈余公积金的比例是多少
  • 已收款未开票未发货能确认收入吗
  • 转出未交增值税会计账务处理
  • 公益性捐赠支出计入什么科目
  • 正常存货周转率多少次合适
  • 计提应付票据利息10000的会计分录
  • 如何计提当期费用成本
  • sql server 错误
  • sql 语句
  • mysqldump导出csv文件
  • qpso算法
  • system is boot up with
  • xp系统的输入法在哪里设置
  • mac音频设置在哪里
  • vc++6.0运行程序
  • Ubuntu keylin 14.04 怎么使用root用户登录?
  • 苹果官网
  • linux环境和常用命令
  • rhel6安装
  • mac局域网控制windows
  • scards32.exe - scards32是什么进程 有什么用
  • windows7的开机启动项在哪里
  • vsftpd怎么配置
  • 逐一介绍班子成员表现
  • xcode怎么新建项目
  • linux常用shell命令
  • 批处理实现电脑登陆二次验证
  • jquery常用操作
  • 怎样用python
  • javascript高级程序设计第三版
  • jquery设置滚动条
  • python列表组成字符串
  • jquery的each循环
  • 使用jQuery加载html页面到指定的div实现方法
  • 标箭头的手机软件
  • 个体逾期未申报一天会怎么样
  • 成品油和非成品油的税务知识
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设