zoukankan      html  css  js  c++  java
  • 9、单机运行环境搭建之 --CentOS6.4下mysqldump 备份与还原数据库

     创建一个测试用的数据库

    mysql -u root -p
    
    #设置一下权限,方便在备份时使用
    set password for 'root'@'localhost' =password('dsideal');

    flush privileges;

    #删除旧的测试数据库
    drop database test;

    #创建新的测试数据库 create database test; use test; create table test (id
    int); insert into test values(1); insert into test values(2); insert into test values(3); insert into test values(4); insert into test values(5); select * from test; 

     然后备份test的整个数据库

    #使用下面的 vi /usr/local/backup_test.sh

    内容如下:

    #!/bin/sh

    date_str=`date +%Y%m%d` cd /data2/backup mysqldump -h localhost -u root --password=dsideal -R -E -e \ --max_allowed_packet=1048576 --net_buffer_length=16384 test\ | gzip > /tmp/data/dsideal_test_$date_str.sql.gz

    echo "DataBase Backup Success!"

    参数说明:

    max_allowed_packet 和 net_buffer_length 这两个参数起着决定性作用,速度差别几百上千倍
    
    我这里的配置是:--max_allowed_packet=25165824 --net_buffer_length=16384
    
    其原理是合并多条数据成为一个 SQL 插入语句。

    导出时候注意点:
    -e
     使用包括几个VALUES列表的多行INSERT语法;
    --max_allowed_packet=XXX 客户端/服务器之间通信的缓存区的最大大小;
    --net_buffer_length=XXX TCP/IP和套接字通信缓冲区大小,创建长度达net_buffer_length的行。
    注意:max_allowed_packet和net_buffer_length不能比目标数据库的设定数值 大,否则可能出错。
    首先确定目标库的参数值
    mysql>show variables like 'max_allowed_packet';
    mysql>show variables like 'net_buffer_length';
    根据参数值书写mysqldump命令,如:
    mysql>mysqldump -uroot -psupidea jb51.net goodclassification -e --max_allowed_packet=1048576 --net_buffer_length=16384 >www.jb51.net.sql

    #运行

    sh /usr/local/backup_test.sh

    还原:

    从压缩文件直接恢复:

    gzip < dsideal_test_20130405.sql.gz | mysqldump -u root -p test

     注意:这里的TEST数据库必须是存在的,否则会还原不了,就是说必须要保证这个数据库存在,新的机器就必须手工创建一下。

     #修改文件属性,使其可执行

    chmod +x /usr/local/backup_test.sh

     #修改/etc/crontab

    crontab -e
    在下面添加

    01 3 * * * root /usr/local/backup_test.sh

    #表示每天3点钟执行备份

    #如果需要异机备份

    http://www.cnblogs.com/dwzjs/archive/2011/04/25/2027687.html

    Crontab 定时任务管理

    crontab -e
    
    01 03 * * * /var/proftpd_data/backup/bin/mysqlFullBackup.sh
    
    10 04 * * * /var/proftpd_data/backup/bin/ftpDownload.sh
    
    前五个字段的整数取值范围及意义是:
    
    059 表示分
    
    123 表示小时
    
    131 表示日
    
    112 表示月份
    
    06 表示星期(其中0表示星期日)
  • 相关阅读:
    6.Spark streaming技术内幕 : Job动态生成原理与源码解析
    5.Spark Streaming流计算框架的运行流程源码分析2
    4.Spark Streaming事务处理
    2.Spark Streaming运行机制和架构
    1.Spark Streaming另类实验与 Spark Streaming本质解析
    3.spark streaming Job 架构和容错解析
    35.Spark系统运行内幕机制循环流程
    unity3d 扩展NGUI Tweener —— TweenFillAmount
    unity3d 赛车游戏——复位点检测
    unity3d CarWaypoints插件
  • 原文地址:https://www.cnblogs.com/littlehb/p/2999620.html
Copyright © 2011-2022 走看看