• 技术文章 >数据库 >mysql教程

    mysql数据库备份的几种方法

    巴扎黑巴扎黑2017-07-19 11:17:43原创1003
    1. 复制date文件夹备份
      ============================
      假想环境:
      MySQL 安装位置:C:\MySQL
      论坛数据库名称为:bbs
      数据库备份目的地:C:\db_bak\
      ============================
      新建db_bak.bat,写入以下代码


      *******************************Code Start*****************************
      net stop mysql
      xcopy c:\mysql\data\bbs\*.* c:\db_bak\bbs\%date:~0,10%\ /S /I
      net start mysql
      *******************************Code End *****************************

      然后使用Windows的“计划任务”定时执行该批处理脚本即可。(例如:每天凌晨3点执行back_db.bat)
      解释:备份和恢复的操作都比较简单,完整性比较高,控制备份周期比较灵活,例如,用%date:~0,10%。此方法适合有独立主机但对mysql没有管理经验的用户。缺点是占用空间比较多,备份期间mysql会短时间断开(例如:针对30M左右的数据库耗时5s左右),针对%date:~0,10%的用法参考 。


      2、mysqldump备份成sql文件
      ==============
      假想环境:
      MySQL 安装位置:C:\MySQL
      论坛数据库名称为:bbs
      MySQL root 密码:123456
      数据库备份目的地:D:\db_backup\


    3、利用WinRAR对MySQL数据库进行定时备份。
    对于MySQL的备份,最好的方法就是直接备份MySQL数据库的Data目录。下面提供了一个利用WinRAR来对Data目录进行定时备份的方法。

    首先当然要把WinRAR安装到计算机上。

    将下面的命令写入到一个文本文件里

    *******************************Code Start*****************************
    net stop mysql

    c:\progra~1\winrar\winrar a -ag -k -r -s d:\mysql.rar d:\mysql\data

    net start mysql
    *******************************Code End*****************************

    保存,然后将文本文件的扩展名修改成CMD。进入控制面版,打开计划任务,双击“添加计划任务”。在计划任务向导中找到刚才的CMD文件,接着为这个任务指定一个运行时间和运行时使用的账号密码就可以了。
    这种方法缺点是占用时间比较多,备份期间压缩需要时间,mysql断开比第一种方法更多的时间,但是对于文件命名很好。


    最近要用到mysql备份,就写了shell脚本用于备份。

    #!/bin/bash
    #定义备份的数据库名称
    database=***#定义备份的时间
    currTime=$(date +%Y%m%d)
    #备份存储目录
    bakUrl=/opt/$database/db/$currTime
    
    #备份文件名
    databaseBakName=$database.$currTime.sql
    
    #备份文件路径
    databaseBakUrl=$bakUrl/$databaseBakName
    
    #判断备份的文件夹是否存在
    #这里的-d 参数判断备份存储目录是否存在  
    if [ ! -d $bakUrl ]; 
    then
       mkdir -p $bakUrl  
    fi #这里的-f参数判断备份文件是否存在  
    if [ ! -f $databaseBakUrl ]; 
    then  
        mysqldump -u*** -hIP -p***  $database > $databaseBakUrlelserm -rf $databaseBakUrl
        mysqldump -u*** -hIP -p***  $database > $databaseBakUrlfi

    给shell脚本命名为databasebak.sh

    赋予脚本权限 chmod u+x databasebak.sh

    以上就是mysql数据库备份的几种方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:mysql 数据库 备份
    上一篇:用xtrabackup备份mysql数据库方法指导 下一篇:Mysql的增删改查sql语句总结
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 怎么修改mysql服务路径• 怎么解决启动mysql的1069错误• mysql中有嵌套查询语句吗• 怎么判断mysql数据库是否存在• oracle怎么转移表的表空间
    1/1

    PHP中文网