zoukankan      html  css  js  c++  java
  • mysql学习之旅-数据迁移-备份-恢复

    1、数据迁移

    将/tmp/t3.txt中的数据导入到t3表中,数据以逗号为分割符

    load data infile ‘/tmp/t3.txt’ into table t3 fields terminated by ',';

    将table2表中的数据导出为文件data.txt,以逗号为分隔符

    SELECT * INTO OUTFILE 'data.txt'

    ->     FIELDS TERMINATED BY ','

    ->     FROM table2;

      #####在mysql命令行内执行   ?  select     查看select命令的帮助信息

    2、逻辑备份

    查看mysqldump的帮助,使用方法

    mysqldump --help

    备份前使用FLUSH TABLES;更新事物

    备份命令

    mysqldump -uroot -p d1 > /tmp/d1.sql

    恢复命令,要先create 数据库 d1

    mysql -uroot -p d1 < /tmp/d1.sql

    在操作系统命令窗口执行sql语句的方式

    mysql -uroot -p d1 -e 'show tables;'

     3、物理备份

    先停止服务

    cp data文件夹

    如果出现问题需要恢复就把备份的文件夹 重命名为data放到该放的位置

    要修改文件夹的属主属组为原来的属主属组,比如mysql:mysql

    chown -R mysql:mysql data

    再启动已经就没问题了,而且数据已经恢复

    4、基于binlog的恢复到制定时间点

    查看binlog情况,ON为开启

    mysql> show variables like 'log_bin';
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | log_bin       | ON    |
    +---------------+-------+
    1 row in set, 1 warning (0.02 sec)

    查看binlog清单

    mysql> show binary logs;
    +-----------------+-----------+
    | Log_name        | File_size |
    +-----------------+-----------+
    | data-bin.000001 |       154 |
    +-----------------+-----------+
    1 row in set (0.00 sec)

    比如7点时,进行了数据库的mysqldump的备份

    mysqldump -uroot -p d1 --master-data=2 > d1-7.sql

    之后,在d1库中又建了两张表,t4和t5

    但是在9点的时候,有人不小心把t4表删除掉了

    现在要求数据库恢复到t5,t4刚创建时候的状态

    恢复

    先看dump备份时,日志走到了哪里?

    MASTER_LOG_FILE='mysql-bin-0000009'       MASTER_LOG_POS=325

    用mysqlbinlog解析mysql-bin-000009  

    找到时间点at  325,拆分出日志文件

    mysqlbinlog mysql-bin-000009  --start-position=325 --stop-position=511 > log1.txt

    检查日志是否符合要求,用cat log1.txt

    使用拆分的日志文件restore,

    用use d1

    source   log1.txt

  • 相关阅读:
    【iOS开发-从网络上获取图片尺寸】
    【iOS开发之静态库、动态库】
    【iOS开发之OC和JS互调】
    【iOS之runtime、runloop】
    【iOS开发之C语言】sprintf,strncpy,strcmp三个函数的区别
    计算机中的存储单位
    linux命令行
    python的安装
    Java的跨平台特性
    方法的重写(override)两同两小一大原则:
  • 原文地址:https://www.cnblogs.com/mathprice/p/5833849.html
Copyright © 2011-2022 走看看