zoukankan      html  css  js  c++  java
  • Linux_CentOS-服务器搭建 <四>

    既然tomcat,弄好了,数据库安装好了。我们考虑考虑下。今天带给大家是,

    数据库的还原备份:

    备份开始:

           登录开始:  

    mysql -u root -p
    

        创建一个测试用的数据库test并创建一张表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/bakcupmysql/backup_test.sh

    #!/bin/sh
    
    date_str=`date +%Y%m%d`
    cd /var/lib/mysql
    mysqldump -h localhost -u root --password=123456 -R -E -e 
      --max_allowed_packet=1048576 --net_buffer_length=16384 test
       | gzip > /usr/local/bakcupmysql/backuptest_$date_str.sql.gz
    
    echo "DataBase Backup Success!"
    

      //创建成功后必须先看参数,根据参数修改刚刚的文件。

      

    max_allowed_packet 和 net_buffer_length 这两个参数起着决定性作用,速度差别几百上千倍
    
    其原理是合并多条数据成为一个 SQL 插入语句。
    
    导出时候注意点:
    第一:   -e 使用包括几个VALUES列表的多行INSERT语法;   --max_allowed_packet=XXX 客户端/服务器之间通信的缓存区的最大大小;   --net_buffer_length=XXX TCP/IP和套接字通信缓冲区大小,创建长度达net_buffer_length的行。   注意:max_allowed_packet和net_buffer_length不能比目标数据库的设定数值 大,否则可能出错。   首先确定目标库的参数值
      mysql -u root -p   mysql>show variables like 'max_allowed_packet';   mysql>show variables like 'net_buffer_length';

    第二:
      /var/lib/mysql 这个是数据库的路径
      /usr/local/bakcupmysql/ 这个是备份的路径

      

    #运行

    sh /usr/local/bakcupmysql/backup_test.sh
    

      这样轻轻松松地,把数据库的给备份好了。你可以去 /usr/local/bakcupmysql/ 看看 多出了一个 dsideal_test_20131016.sql.gz 的文件。

    下面开始还原

      从压缩文件直接恢复:

      cd 到你要备份的数据库的路径

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

      

    附加一些知识吧

      crontab -e
        在下面添加

    
    
    01 3 * * * root /usr/local/backup_test.sh
    
    #表示每天3点钟执行备份

      定时器一些知识

      

    crontab -e
    03 * * * /var/proftpd_data/backup/bin/mysqlFullBackup.sh
    04 * * * /var/proftpd_data/backup/bin/ftpDownload.sh
    
    前五个字段的整数取值范围及意义是:
    
    059 表示分
    
    123 表示小时
    
    131 表示日
    
    112 表示月份
    
    06 表示星期(其中0表示星期日)

    在介绍下例子。我刚刚弄的

    1.首先我们将要导入到数据库中的.sql文件放到你知道目录下,这样比较方便

    2.进入mysql;mysql>create database netcredit;

    3.使用新创建的数据库 mysql>use netcredit;

    4.导入文件: mysql>source 导入的文件名; 

    5.如果没有提示错误信息提示,我们可以通过show tables;指令可以看到新创建的netcredit数据库里面已经导入了刚netcredit数据库里的内容。

    
    
  • 相关阅读:
    调用外部的EXE和载入关卡
    射击游戏
    一些有用的函数
    U3D支持中文
    摄像机淡入淡出的例子
    一些编辑器开发的代码范例
    自动补全插件之二
    Dapper扩展Refactored Dapper Extensions
    抽象类
    jQuery AutoComplete 实现中文的自动补全
  • 原文地址:https://www.cnblogs.com/Alandre/p/3372378.html
Copyright © 2011-2022 走看看