zoukankan      html  css  js  c++  java
  • Linux定时备份mysql数据库

    一、MySQL数据备份

    1、在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们可以通过命令行直接实现数据库内容的导出dump,首先我们简单了解一下mysqldump命令用法:

      mysqldump -u root -p --databases 数据库1 数据库2 > xxx.sql

    2、编辑shell脚本:

        cd /home 进入home目录

     mkdir mysqlbackup  创建文件夹

        vim  mysql_dump_script.sh

    #!/bin/bash
    #保存备份个数,备份7天数据 number=7 #备份保存路径 backup_dir=/home/mysqlbackup #日期 dd=`date +%Y-%m-%d-%H-%M-%S` #备份工具 tool=mysqldump #用户名 username=root #密码 #password=TankB214 #将要备份的数据库 database_name=gl_gcc #如果文件夹不存在则创建 if [ ! -d $backup_dir ]; then mkdir -p $backup_dir; fi #简单写法

    $tool --defaults-extra-file=/etc/my.cnf $database_name > $backup_dir/$database_name-$dd.sql #写创建备份日志 echo "create $backup_dir/$database_name-$dd.dupm" >> $backup_dir/log.txt #找出需要删除的备份 delfile=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | head -1` #判断现在的备份数量是否大于$number count=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | wc -l` if [ $count -gt $number ] then #删除最早生成的备份,只保留number数量的备份 rm $delfile #写删除文件日志 echo "delete $delfile" >> $backup_dir/log.txt fi

    注意: mysql 5.7 以上版本不能把密码写在shell文件里,因此更改/etc/my.cnf 文件

    解决方法:

    对于mysqldump 要如何避免出现(Warning:Using a password on the command line interface can be insecure.) 警告信息呢?

    ① vim /etc/my.cnf

    [mysqldump]

    user=root(数据库账号)

    password=数据库密码

    ②:wq

    ③重启mysql服务:service mysql restart

    3、修改shell脚本权限,chmod 777  mysql_dump_script.sh  ,这样这个脚本就变成可执行文件, ./mysql_dump_script.sh 可查看是否还有其他报错!

    二、开启定时任务,执行数据库备份脚本

     1、crontab -e  进入定时任务编辑页面 

      00 01 * * * /usr/bin/sh /home/mysqlbackup/mysql_dump_script.sh  代表每天凌晨1点执行一次这个脚本。

      其他关于定时任务的资料可参考 https://www.runoob.com/w3cnote/linux-crontab-tasks.html

    2、再用 service crond restart 重新启动定时任务服务即可!

    3、crontab -l 可查看当前所有的定时任务列表!

  • 相关阅读:
    C++ 如何判断所调用的重载函数
    C++ 入门5 类和动态内存分配(一)
    c#动态创建ODBC数据源
    设为首页,加入收藏,联系我们
    ASP.NET 2.0中CSS失效
    typedef的四个用途和两个陷阱(转)
    VC++实现应用程序对插件的支持(转)
    DOM无关事件
    How to Migrate from WCF Web API to ASP.NET Web API
    Using ASP.NET Web API with ASP.NET Web Forms
  • 原文地址:https://www.cnblogs.com/jn1011/p/12464086.html
Copyright © 2011-2022 走看看