zoukankan      html  css  js  c++  java
  • 制作mysql数据快照

    在建立主从关系时,如果主上有旧数据,需要将旧数据拷贝到每一个从上。下面介绍几种不同的拷贝方式。

    方法一:使用mysqldump工具创建一个你想要复制的所有数据库的一个dump。这是推荐使用的方法,特别是如果表的存储引擎都是innodb。

    具体操作方法:

    • 找到mysqldump(跟mysql启动程序同路径)把主上的数据制作快照
    ./mysqldump -uroot -pabc -h127.0.0.1 --all-databases --master-data > dbdump.db

    注意:

    如果不使用—master-data参数,需要在一个独立的客户端会话里

    执行flush all tables with read lock,以保证制作数据镜像的时候没有新的数据写入.

    如果不想复制所有的数据库或者想忽略某个表,不要使用—all-databases, 分别使用下面2个参数:—database your_db_name, —ignore-table,例如,我想复制主上janey数据下除里表ta,tb以外的表命令:

    ./mysqldump -uroot -pabc -h127.0.0.1 --databases janey --ignore-table janey.ta --ignore-table janey.tb --master-data > dbdump.db
    • 然后把生成的dbdump.db文件通过scp或者其他方式拷贝到从上
    • 在从上恢复数据:
    ./mysql -uroot -pabc -h127.0.0.1 < dbdump.db 

    方法二:Creating a Data Snapshot Using Raw Data Files(自己还没搞懂,todo)

    如果你的数据库都是存在二进制可移植文件中,你可以把这些二进制文件拷贝到每一个从。这比使用mysqldump效率更高。然后在从上import这些二进制文件,之所以这种方式这种情况下效率高是因为跳过了在遇到insert语句被回放时更新索引。对于存储引擎是innodb不推荐这种方式。

  • 相关阅读:
    卸载了PL/SQL Developer,说一下与Toad for Oracle的对照
    列举游戏开发过程中的一些不良现象
    vue23:vue-loader
    vue22 路由
    vue21 slot占位
    vue20 父子组件数据交互
    vue19 组建 Vue.extend component、组件模版、动态组件
    vue18 动画
    vue17 $watch 监听数据变化
    vue16 自定义键盘属性
  • 原文地址:https://www.cnblogs.com/janey/p/5986973.html
Copyright © 2011-2022 走看看