zoukankan      html  css  js  c++  java
  • mysql备份-增量备份级数据恢复

    mysqldump -u 用户名 -p密码 

     mysqldump -h 127.0.0.1 -u root -P3003 --events -p mysql > /tmp/mysql.bak.sql                                   ###因为mysqldump默认是不备份事件表的,只有加了--events 才会解决加上

    egrep -v "#|*|--|^$" /tmp/mysql.bak.sql                         ################查看导出的表信息

    mysql -h 127.0.0.1 -uroot -p'123456' -P3003 -e "use mysql;drop table db;"            ##通过命令删除mysql下的db表。
    mysql -h 127.0.0.1 -uroot -p'123456' -P3003 mysql </tmp/mysql_B.sql                       ##通过备份还原mysql库的表

    mysql -uroot -h10.10.0.37 -P3320 --default-character-set=utf8 -p hive_new < ./201806201512sql.sql  还可以指定字符集

    ###带参数大B的导出

    mysqldump -h127.0.0.1 -uroot -poldboy -P3003  -B oldboy > /tmp/oldboy_B.sql    ####这样就算删除了oldboy数据库  也能恢复。

    ####压缩方式倒出数据库

     mysqldump -h127.0.0.1 -uroot -poldboy -P3003  -B oldboy|gzip > /tmp/oldboy_B.sql.gzip

    mysqldump备份原理

    利用mysqldunmp命令备份数据的过程,实际上就是把数据从mysql库里以逻辑的sql语句的形式直接输入或者生成备份文件的过程。

    ####mysql备份多个库

    mysqldump -h 127.0.0.1 -uroot -poldboy -P3003 -B oldboy test_gbk test_utf8|gzip > /opt/3gku.sql.gz    ##备份多个库

    gunzip < /opt/3gku.sql.gz |mysql -h 127.0.0.1 -uroot -poldboy -P3003                       ###恢复库

    mysql -h127.0.0.1 -uroot -poldboy -P3003 -e "show databases;"|grep -Evi "database|infor|perfor"|sed 's#^#mysqldump -h 127.0.0.1 -uroot -poldboy -P3003 -B #g'|gzip > /tmp/haha.sql.gz    ###可以查出来库以及在库前面加上参数

    ###分库备份
    
    mysql -h127.0.0.1 -uroot -poldboy -P3003 -e "show databases;"|grep -Evi "database|infor|perfor"|sed -r 's#^([a-z].*$)#mysqldump -h 127.0.0.1 -uroot -poldboy -P3003 -B 1|gzip > /opt/1.sql.gz#g'|bash
    
    #!/bin/bash
    for dbname in `mysql -h127.0.0.1 -uroot -poldboy -P3003 -e "show databases;"|grep -Evi "database|infor|perfor"`
    do
    mysqldump -h 127.0.0.1 -uroot -poldboy -P3003 --events -B $dbname|gzip > /opt/${dbname}_bak.sql.gz
    done
    脚本备份分库

    ###备份mysql表结构

    mysqldump -h127.0.0.1 -uroot -poldboy -P3003 --compact -d oldboy > /opt/a.sql    ###备份表结构
    
    mysqldump -h127.0.0.1 -uroot -poldboy -P3003 --compact -t oldboy > /opt/a.sql         ###备份数据
    

    ###mysql数据库全备,并且刷新bin-log

    mysqldump -h127.0.0.1 -uroot -p -P3003 --events -A -B -F  |gzip  > /opt/b.sql.gz    

    -A 备份 所有库
    
    -B  指定多个库,增加建库语句和use语句
    
    --compact 去掉注释,适合调试输出,生产不用
    
    -F 刷新binlog日志
    
    --master-data增加binlog日志文件名级对应的位置点
    
    -R备份存储过程等
    
    -x锁表
    -l --lock-tables  只读锁表
    
    -d 只备份表结构
    
    -t  只备份数据
    --single-transaction 适合innodb事物数据库备份

    myisam 备份命令

    mysqldump -h127.0.0.1 -uroot -poldboy -A -B --master-data=2 -x --events |gzip > /opt/all.sql.gz

    innodb 备份命令:推荐使用

    mysqldump -h 127.0.0.1 -u root -poldboy -A -B --master-data=2 --events --single-transaction|gzip >/opt/all.sql.gz

    mysql恢复方法

    1.source /opt/mysql_bak_B.sql           ##需要进入数据库里面操作然后指定指定数据路径          sysctem 查看目录

    2.mysql -h 127.0.0.1 -uroot -poldboy -P3003 oldboy < /opt/mysql_bak.sql

       mysql -h 127.0.0.1 -uroot -poldboy -P3003 < /opt/mysql_bak_B.sql

    ##查看链接数据库情况

    mysql -h 127.0.0.1 -uroot -poldboy -P3003 -e "show full  processlist;"   可以查到数据库链接情况以及操作命令来排查慢查询

    mysql -h 127.0.0.1 -uroot -poldboy -P3003 -e "show global status;"   查看全局状态  

    mysql -h 127.0.0.1 -uroot -poldboy -P3003 -e "show global status;"|grep sel   ###查看mysql计数

    https://blog.csdn.net/jesseyoung/article/details/37106035
    
    
    
    https://www.cnblogs.com/kevingrace/p/5907254.html
    View Code
  • 相关阅读:
    (转)simple-framework(MaliSDK框架分析)
    (转)libhybris及EGL Platform-在Glibc生态中重用Android的驱动
    (原)在firefly_rk3288开发板上解决openGL在设置32位色深以后出现花屏的问题
    参考论坛:Mali kernel driver TX011-SW-99002-r5p1-00rel0 for firefly
    (转)android媒体--stagefright概述【一】
    (转)android系统架构及源码目录结构
    (原)linux下利用cmake来编译jthread开源库
    (原)U盘可见容量不能被识别的处理方法
    学会阅读Java字节码
    JVM
  • 原文地址:https://www.cnblogs.com/zhaobin-diray/p/9361642.html
Copyright © 2011-2022 走看看