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数据库里的内容。


原文地址:https://www.cnblogs.com/Alandre/p/3372378.html