博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
9、单机运行环境搭建之 --CentOS-6.4下mysqldump 备份与还原数据库
阅读量:6689 次
发布时间:2019-06-25

本文共 1914 字,大约阅读时间需要 6 分钟。

 创建一个测试用的数据库

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/backupmysqldump -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 -e01 03 * * * /var/proftpd_data/backup/bin/mysqlFullBackup.sh10 04 * * * /var/proftpd_data/backup/bin/ftpDownload.sh前五个字段的整数取值范围及意义是:0~59 表示分1~23 表示小时1~31 表示日1~12 表示月份0~6 表示星期(其中0表示星期日)

 

 

你可能感兴趣的文章
nutanix方案建议书
查看>>
「docker实战篇」python的docker爬虫技术-控制工具uiautomator工具(16)
查看>>
高斯白噪声
查看>>
【Unity3D基础教程】给初学者看的Unity教程(零):如何学习Unity3D
查看>>
Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
查看>>
处理器之中断(二)
查看>>
redis的四大特性和原理
查看>>
可视化之Earth NullSchool
查看>>
ssh和sshd命令
查看>>
java 分库关联查询工具类
查看>>
windows 下如何显示文件扩展名
查看>>
Robotium之Android控件定位实践和建议(Appium/UIAutomator姊妹篇)
查看>>
用python抓网页数据
查看>>
Python教程-保留字符
查看>>
LVS_DR+Keepalived高可用Web群集
查看>>
Windows7系统安装
查看>>
浅谈数据库之存储过程
查看>>
化繁为简|华天软件参数化,将轴承设计变为数与数的组合
查看>>
深入理解Java内存模型(一)——基础
查看>>
美图秀秀下载|美图秀秀电脑版下
查看>>