喀什地区网站建设

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 7|回复: 0

新闻速递MySQL简易备份方法(2) -

[复制链接]
  • TA的每日心情

    15 小时前
  • 签到天数: 61 天

    [LV.6]常住居民II

    10万

    主题

    57

    回帖

    30万

    积分

    超级版主

    Rank: 8Rank: 8

    积分
    305285
    发表于 2025-8-7 11:55:19 | 显示全部楼层 |阅读模式

    四MSQL线上备份

    使用像上面的"档案"方式备份是个不错的方法,它比较少可以保持该主机某个时间点的完整档案备份,但还是有一些问题需要考虑到,有些主机就不只建立一个DB而已,总不能为了备份某个DB而把整个MSQL服务停止,备份档案的方式,回存在原主机上一定适用,但假如MSQL版本升级,或是在那天,该页空间需迁机移机到别的主机时,那就没人敢保证备出来的资料档可以用,所以我们可以考虑另一种备份的方式,是使用MSQL本身提供的功能:"MSQLDD",指令是""

    使用MSQL的D功能可以把DB的"结构","资料"或"结构加资料"D成文字档,指令提供的弹性很大,你可以选择把整个DBD成一个档,或是每个T为一个档,甚至是把结构档和资料分开储存都可以

    检测酷!学园的BB资料库後发现,以结构加资料FD成一个档案,档案的大小大约也是30几MB左右在D之前比较好多下个F-L更新LOG,所以整个D的指令如下:

    ---

    2--2_20220601

    (2是DB称,是一个使用完整D参数)

    再使用指令去测试执行时间,这个30几MB的DB,D出来竟只要15秒左右,Q的速度还真是,假如只是要单独D某个T时,只要在上面的指令後,转出符号""前加个T称就可以,如只要2_这个T的D时,只要下:

    2--2_2__20220601

    D出来的档案是个纯文字档,你可以用把它压起来,以上面30几MB的DB为例,大约可以把档案大小压到13左右的大小,因为D出是文字档,所有的资料都是以明文

    显示,所以必须注意一下备份档保存的安全性,而且建议备份档比较好再另外储存於异地以及其他易於保存的媒体上,像光碟片或磁带,这样的备份才有意义

    五MSQL线上回存

    若要回存整个资料库,只需将压缩的备份档还原成D的档案,再用下面的指令回存:

    2--2_20220601

    这边需注意的是,若建立备份时是以""或"--"为参数时,回存的动作是先将旧的T先删除,重建T的结构後再把D汇入,所以回存後,所有的资料会回到你当时备份那个时间点,因此在回存资料时,可以考虑把现有错误或不完整的DB先备份一份下来,以备不时之需,或是拿来比对错误的地方在那里,当然你也可以把资料回存到另一个测试用的DB内,只要把上面指令的DB称改成你的测试用DB称即可

    使用这种回存方式,MSQL服务不需停止,也不会动到其他正在使用的DB,在一些提供MSQL服务的虚拟主机,可用这种方式作你自己的DB备份及回存

    另外,假如你是系统重建或是移机时,切需在新的MSQL内,新建一个空白DB後,才行作回存的工作,你可以用下面的指令建立:

    ---"CREATEDATABASE2"

    (上面的2是你要新建的DB称)

    另一种作法,先用""指令进入"",然後再用:

    CREATEDATABASE2;

    这样就行了,记得尾端要加个";"符号该行指令才会执行

    六开始排定备份

    知道备份的方法之後,就可以把整个备份的动作作成一个S,指定DB相关参数後,便可利用C排定备份的周期和时间,可以把下面的指令加入C内:

    0004***

    (是S的档)

    排定的时间当然比较好是夜间离峰时以本文附录提供的S作备份规则说明,每日执行备份作业,以一周为一个周期,所以比较近的资料是昨天,比较久的资料是一星期前,每次备份是将指定的DBFD成一个档,用压缩後存入指定的路径备份档以DB的称加上星期来命,星期的表示为"0"代表星期日,"1"代表星期一,以此类推

    目前该S一次只能备份一个DB而已,你可以加以修改以符合你的系统环境及需求
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表