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 前五个字段的整数取值范围及意义是: 0~59 表示分 1~23 表示小时 1~31 表示日 1~12 表示月份 0~6 表示星期(其中0表示星期日)
在介绍下例子。我刚刚弄的
1.首先我们将要导入到数据库中的.sql文件放到你知道目录下,这样比较方便
2.进入mysql;mysql>create database netcredit;
3.使用新创建的数据库 mysql>use netcredit;
4.导入文件: mysql>source 导入的文件名;
5.如果没有提示错误信息提示,我们可以通过show tables;指令可以看到新创建的netcredit数据库里面已经导入了刚netcredit数据库里的内容。