zoukankan      html  css  js  c++  java
  • 如何定时备份Mysql数据库

    1.创建备份数据库存储目录

    cd data/db
    mkdir backup #创建存储目录

    2.添加备份脚本

    vim backupdb.sh #创建脚本文件

    脚本内容如下:

    #!/bin/sh
    db_name="xxxxxx" #数据库名称
    name="$db_name-$(date +"%Y-%m-%d-%H-%M-%S")" #生成备份文件的名称
    /usr/local/mysql/bin/mysqldump $db_name >> /data/db/backup/$name.sql #生成备份sql文件
    #/usr/local/mysql/bin/mysqldump $db_name >> /data/db/backup/$name.sql >> /data/db/backup/error.log 2>&1 #可以通过将输出输入到日志文件中查看错误。
    #压缩并删除原文件
    cd /data/db/backup
    tar -zcvf $name.sql.tar.gz $name.sql --remove-files

    3.修改mysql配置文件

    vim /etc/my.cnf
    #添加
    [mysqldump]
    user=db_username #数据库用户
    password=db_password #密码
    
    #添加完成记得重启mysql服务
    service mysqld restart

    4.通过crontab添加定时任务执行脚本

    crontab -e #编辑定时任务
    0 1 * * * /bin/sh /data/db/backupdb.sh #每天凌晨一点执行备份任务

    可能会出现的问题:

    vim /var/log/cron 查看定时任务执行纪录
    
    发现:(root) MAIL (mailed 192 bytes of output but got status 0x004b#012)
    这个是执行脚本权限问题,进行以下操作:
    chmod u+x backupdb.sh #给脚本添加可执行权限,如果用户用的是root只加拥有者就可以。

    至此,便完成了定时备份Mysql数据库。。。。

  • 相关阅读:
    FileAttributes枚举
    File类与FileInfo类
    System.IO.Path类
    会话状态Session
    Application共享数据
    压缩、解压缩流GZipStream
    MemoryStream类
    FileMode枚举
    FileAccess枚举
    MySQL函数
  • 原文地址:https://www.cnblogs.com/yuanwanli/p/12616843.html
Copyright © 2011-2022 走看看