• 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
  • 相关阅读:
    用户态与内核态 & 文件流与文件描述符 简介【转】
    内核模块中filp->open对文件的读写【转】
    MSM8909的触摸屏驱动导致的熄屏后重新亮屏速度慢的原因!【转】
    从基本理解到深入探究 Linux kernel 通知链(notifier chain)【转】
    LTPS、IGZO、OLED都是什么?【转】
    NB-IoT有三种部署方式及特点【转】
    NB-IoT是怎么工作的,是否支持基站定位?【转】
    【Go入门教程9】并发(goroutine,channels,Buffered Channels,Range和Close,Select,超时,runtime goroutine)
    【Go入门教程8】interface(interface类型、interface值、空interface{}、嵌入interface、反射)
    【Go入门教程7】面向对象(method、指针作为receiver、method继承、method重写)
  • 原文地址:https://www.cnblogs.com/zhaobin-diray/p/9361642.html
Copyright © 2020-2023  润新知