暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【mysql】数据备份与还原

删库跑路小分队 2021-09-03
375


且听风吟,静待花开❤️

灿烂盛大,欢迎回家❤️



夏天夏天悄悄过去留下小秘密

压心底压心底不能告诉你

晚风吹过温暖我心底我又想起你

多甜蜜多甜蜜怎能忘记


这天最适合和小伙伴们在一起

烧烤+啤酒+吹牛B


🌈🌈🌈


这次我们讨论的话题是

mysql数据备份与还原


先养眼,再看题

❤️

今天我们还看小姐姐




需求描述


在我们的学习和工作中,经常需要用到数据库mysql,因为针对mysql的sql练习,这个是必须的,但同时,对于mysql的一些操作,我们还是需要掌握的,本次我们讲解mysql数据备份与还原


本文目录

[toc]

数据备份

使用mysqldump命令备份

    1,备份多个表

    2,备份多个库

    3,备份所有数据库

数据还原

    定时备份脚本内容

数据备份


使用mysqldump命令备份

mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。


1,备份多个表

mysqldump基本语法:

mysqldump -u username -p dbname table1 table2 .. -> BackupName.sql


其中:(参数详解)

1. dbname 数据库名称

2. table1table2 表的名称,不写则所有备份

3. BackupName.sql参数表设计备份文件的名称,文件名前面可以加上一个绝对路径。


    -- 使用root用户备份数据库下的person表
    mysqldump -u root -p test person > D:\backup.sql


    2,备份多个库


    加上了--databases选项,然后后面跟多个数据库

      mysqldump -u username -p --databases dbname2 dbname2 > Backup.sql


      -- demo


      mysqldump -u root -p --databases test mysql > D:\backup.sql



      3,备份所有数据库


      关键字-all-databases,能够备份到所有的数据库

        mysqldump -u username -p -all-databases > BackupName.sql


        -- demo


        mysqldump -u -root -p -all-databases > D:\all.sql





        数据还原


        还原命令使用mysqldump命令备份的数据库

          mysql -u root -p < C:\backup.sql


          定时备份脚本内容

            ###升级版每天晚上11:55分进行定时备份,
            #!/bin/bash
            year=`date +%Y`
            month=`date +%m`
            day=`date +%d`
            backpath=/vdb1/mysql/backup/$year$month/
            user=root
            passwd=123456
            dataname=zmq123
            [ -d $backpath ] || mkdir -p $backpath
            rq=`date +%Y%m%d`
            mysqldump -u $user -p$passwd $dataname|gzip >$backpath/$rq.sql.gz
            #定时任务
            分 时   日 月 周
            55 23   *  *  * . vdb1/mysql/mysqldump.sh


            ########每月2号晚上11:30进行定时删除上个月备份数据
            #!/bin/bash
            year=`date +%Y`
            month=`date +%m`
            month=`expr $month - 1`
             if [ $month -eq 0 ];then
                month=12
                day=31
                year=`expr $year - 1`
             fi
             if [ $month -lt 10 ];then
                pre=0
             fi
            backdir=/vdb1/mysql/backup/$year$pre$month
            rm -rf $backdir                   
            #删除上一个月的数据
            ##定时任务
            30 23  2 * * . /vdb1/mysql/delmysqlbak.sh




            扫码关注我

            郭大熊的公众号

            个人博客 : www.guodaxiong.com


            如果不曾见过阳光,我本可以忍受黑暗

             Hi GuoDaXiong 



            我是狗子

            祝你幸福

            文章转载自删库跑路小分队,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论