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

    1、创建备份目录
    # mkdir /mydata/bak
    2、创建备份脚本
    # vi /usr/sbin/bakmysql.sh
    #!/bin/bash
    #Name:bakmysql.sh
    #This is a shellscript for atuo db backup and delete old backup.
    #Jxy
    #

    bakdir=/mydata/bak
    time=`date +%Y%m%d`
    mysql_bin_dir=/usr/local/mysql/bin

    #备份并压缩
    $mysql_bin_dir/mysqldump --defaults-extra-file=/etc/my.cnf sys|gzip > "$bakdir/sys"_"$time.sql.gz"
    sleep 300
    $mysql_bin_dir/mysqldump --defaults-extra-file=/etc/my.cnf iportal|gzip > "$bakdir/iportal"_"$time.sql.gz"
    sleep 300
    $mysql_bin_dir/mysqldump --defaults-extra-file=/etc/my.cnf kino|gzip > "$bakdir/kino"_"$time.sql.gz"
    sleep 300
    $mysql_bin_dir/mysqldump --defaults-extra-file=/etc/my.cnf connector|gzip > "$bakdir/connector"_"$time.sql.gz"
    sleep 300
    $mysql_bin_dir/mysqldump --defaults-extra-file=/etc/my.cnf hfy|gzip > "$bakdir/hfy"_"$time.sql.gz"

    #删除创建时间大于90天的备份文件
    /bin/find $bakdir -name "sys_*.sql.gz" -type f -mtime +90 -exec rm {} ; > /dev/null 2>&1
    /bin/find $bakdir -name "iportal_*.sql.gz" -type f -mtime +90 -exec rm {} ; > /dev/null 2>&1
    /bin/find $bakdir -name "kino_*.sql.gz" -type f -mtime +90 -exec rm {} ; > /dev/null 2>&1
    /bin/find $bakdir -name "connector_*.sql.gz" -type f -mtime +90 -exec rm {} ; > /dev/null 2>&1
    /bin/find $bakdir -name "hfy_*.sql.gz" -type f -mtime +90 -exec rm {} ; > /dev/null 2>&1
    3、为脚本添加执行权限
    # chmod 700 /usr/sbin/bakmysql.sh
    4、添加定时任务
    # crontab -e
    7 3 * * 6 root /usr/sbin/bakmysql.sh
    #每周六03:07执行脚本
    5、查看定时任务是否添加成功
    # crontab -l
    6、重启crontab
    # /etc/rc.d/init.d/crond restart 或者service crond restart
    7、恢复数据备份文件:
    非压缩备份文件恢复:
    # mysql -u root -p dataname < name20XXXXXX.sql
    从压缩文件直接恢复:
    # gunzip < name20XXXXXX.sql.gz | mysql -u root -p dataname
    或:
    # zcat name20XXXXXXXX.sql.gz | mysql -u root -p


    Mysql5.6+ mysqldump报错 Warning: Using a password on the command line interface can be insecure.
    1、修改数据库配置文件,/etc/my.cnf或/etc/my.conf
    在[client]部分添加脚本:
    host=localhost
    user=数据库用户
    password='数据库密码'

    2、采用命令导出和导入数据库
    #导出数据库
    # mysqldump --defaults-extra-file=/etc/my.cnf database > database.sql
    #导入数据库
    # mysql --defaults-extra-file=/etc/my.cnf database < database.sql

  • 相关阅读:
    ConcurrentHashMap实现原理及源码分析
    Java原子类实现原理分析
    谈谈Java中的volatile
    谈谈Java中的ThreadLocal
    HashMap实现原理及源码分析
    浅谈Oracle权限体系
    Oracle闪回技术详解
    数据结构(二)之二叉树
    图解排序算法(五)之快速排序——三数取中法
    图解排序算法(四)之归并排序
  • 原文地址:https://www.cnblogs.com/ruize-coding/p/11639463.html
Copyright © 2011-2022 走看看