• 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
  • 相关阅读:
    SQL注入攻击三部曲之进阶篇
    SQL注入攻击三部曲之入门篇
    父页面(JSP页面)传参数到子页面(JSP页面)
    Flex弹出窗口请求Action函数
    dojo表格分页插件报错
    堆栈溢出问题 调试到位置(test dword ptr [eax],eax ; probe page.)局部数组变量定义所分配的最大空间为1M
    改装的表格
    FusionCharts饼图中label值太长怎么解决
    dojo中的dojox/grid/EnhancedGrid表格报错
    dojo表格分页之各个参数代表的意义(一)
  • 原文地址:https://www.cnblogs.com/zhaobin-diray/p/9361642.html
Copyright © 2020-2023  润新知