mysql mysqlhotcopy_mysql中mysqlhotcopy备份数据库总结
mysqlhotcopy是mysql数据库中一个备份工具,相对于mysqldump是一个快速文件意义上的COPY,mysqlhotcopy是一个数据库端的SQL语句集合。
mysqlhotcopy用法
使用mysqlhotcopy之前需要安装perl-DBI和DBD-mysql:
1、执行yum install perl-DBI安装perl-DBI。
2、安装DBD-mysql请参考底部资料
一个常用的备份例子:
/usr/local/mysql/bin/mysqlhotcopy -u root -p Zmh537817 --addtodest 数据库名1 数据库名2 备份目录
–addtodest的意思是当备份存在时,不中断备份,只添加新的文件进去。
更多的选项可以执行/usr/local/mysql/bin/mysqlhotcopy –help查看。
如何还原?
1、停止mysql服务器。
2、复制备份的数据库目录到mysql数据目录下。
3、更改目录所有者为mysql服务器运行的用户(如mysql)。
4、启动mysql服务器
实例
mysqlhotcopy只用于备份MyISAM。它运行在Unix和NetWare中
使用方法见下面的脚本.加入crotab中吧.
代码如下
复制代码
#!/bin/sh
# Name:mysqlbackup.sh
# PS:MySQL DataBase Backup,Use mysqlhotcopy script.
# Last Modify:2008-06-12
# 定义变量,请根据具体情况修改
# 定义脚本所在目录
scriptsDir=`pwd`
# 数据库的数据目录
dataDir=/var/lib/mysql
# 数据MySQL备份目录
tmpBackupDir=/tmp/mysqlblackup
backupDir=/backup/mysql
# 用来备份数据库的用户名和密码
mysqlUser=root
mysqlPWD='you password'
# 如果临时备份目录存在,清空它,如果不存在则创建它
if [[ -e $tmpBackupDir ]]; then
rm -rf $tmpBackupDir/*
else
mkdir $tmpBackupDir
fi
# 如果备份目录不存在则创建它
if [[ ! -e $backupDir ]];then
mkdir $backupDir
fi
# 得到数据库备份列表,在此可以过滤不想备份的数据库
for databases in `find $dataDir -type d |
sed -e "s//var/lib/mysql///" |
sed -e "s/test//"`; do
if [[ $databases == "" ]]; then
continue
else
# MySQL备份数据库
/usr/bin/mysqlhotcopy --user=$mysqlUser --password=$mysqlPWD -q "$databases" $tmpBackupDir
dateTime=`date "+%Y.%m.%d %H:%M:%S"`
echo "$dateTime Database:$databases backup success!" >>MySQLBackup.log
fi
done
# 压缩备份文件
date=`date -I`
cd $tmpBackupDir
tar czf $backupDir/mysql-$date.tar.gz ./
#End完成
加入到crontab中设置每周5运行
代码如下
复制代码
0 0 * * 5 /backup/blackup.sh
注意:恢复数据库到备份时的状态
mysqlhotcopy 备份出来的是整个数据库目录,使用时可以直接拷贝到 mysqld 指定的 datadir (在这里是 /var/lib/mysql/)目录下即可,同时要注意权限的问题,如下例:
代码如下
复制代码
shell> cp -rf db_name /var/lib/mysql/
shell> chown -R mysql:mysql /var/lib/mysql/ (将 db_name 目录的属主改成 mysqld 运行用户)
本套备份策略只能恢复数据库到最后一次备份时的状态,要想在崩溃时丢失的数据尽量少应该更频繁的进行MySQL备份,要想恢复数据到崩溃时的状态请使用主从复制机制(replication)。
mysqlhotcopy备份报错
错误信息:
代码如下
复制代码
/usr/local/mysql/bin/mysqlhotcopy -u root -p --addtodest --noindices --flushlog -q qeedoo /tmp/bakinstall_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at (eval 7) line 3. Perhaps the DBD::mysql perl module hasn't been fully installed, or perhaps the capitalisation of 'mysql' isn't right. Available drivers: DBM, ExampleP, File, Proxy, Sponge.
解决办法:
代码如下
复制代码
# http://search.cpan.org/~capttofu/DBD-mysql-3.0008/ wget http://search.cpan.org/CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.020.tar.gz tar zxvf DBD-mysql-4.020.tar.gz cd /tmp/DBD-mysql-4.020 perl Makefile.PL --mysql_config=/usr/local/webserver/mysql/bin/mysql_configmakemake install
最后编译安装完之后 发现还是报错:
代码如下
复制代码
?12345 install_driver(mysql) failed: Can't load '/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBD/mysql/mysql.so' for module DBD::mysql: libmysqlclient.so.16: cannot open shared object file: No such file or directory at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 230. at (eval 7) line 3 Compilation failed in require at (eval 7) line 3. Perhaps a required shared library or dll isn't installed where expected at /usr/bin/mysqlhotcopy line 177
是因为tar安装mysql后的路径配置的有问题
vi /etc/ld.so.conf
把mysql的这个库文件路径添加进去
代码如下
复制代码
echo "/usr/local/webserver/mysql/lib/mysql" >> /etc/ld.so.conf ldconfig
再执行mysqlhotcopy的时候,一切正常。
有一台服务出现如下问题:
以下问题待遇查看资料,先记下另外这个问题:
代码如下
复制代码
Can't locate DBI.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /usr/local/mysql/bin/mysqlhotcopy line 8. BEGIN failed--compilation aborted at /usr/local/mysql/bin/mysqlhotcopy line 8.
原因:系统没有按安装DBI组件
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
mysql mysqlhotcopy_mysql中mysqlhotcopy备份数据库总结相关推荐
- mysql数据库备份总结_mysql中mysqlhotcopy备份数据库总结
mysqlhotcopy是mysql数据库中一个备份工具,相对于mysqldump是一个快速文件意义上的COPY,mysqlhotcopy是一个数据库端的SQL语句集合. mysqlhotcopy用法 ...
- mySQL数据库中的备份代码_MySQL中的备份数据库
我目前正在学习SQL.我在windows 10-cmd上运行mysql 8.0.16cli,我以root mysql用户身份登录,并以管理员身份运行cmd. 我想做的是备份我新创建的数据库. 这是我的 ...
- 删除mysql临时文件_mysql自动备份数据库与自动删除临时文件
mysql自动备份数据库与自动删除临时文件,有需要的朋友可以参考下. 一.每日23:00自动删除临时文件 首先查看一下crontab的任务列表: crontab -l 然后新建: crontab -e ...
- linux+tomcat+mysql项目中的备份命令
备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 备份MySQL数据库 ...
- PB中实现备份数据库/还原数据库
============备份数据库 //备份数据库 SQLCA.AutoCommit = TRUE //将数据库备份到文件 ls_style = "USE " + as_datab ...
- word数据源mysql,Word2013中使用Access数据库的方法
Word 2013允许将Access数据库中的表和查询添加到Word文档中,下面介绍Word2013中使用Access数据库的具体操作方法. 1.启动Word 2013,打开需要添加Access数据库 ...
- mfc mysql delete_MFC中简单的数据库文件操作(添加,修改,查找,删除)
要求:新建一个数据库文件(微软的access),里面包括学生的信息学号(ID),姓名(Name),英语成绩(English),在Visual C++ 6.0里新建MFC项目,新建学生记录类(Stude ...
- mysql数据库分表备份脚本_MySQL分库分表备份数据库脚本的操作
MySQL分库分表备份数据库脚本的操作 发布时间:2020-05-26 16:52:23 来源:51CTO 阅读:134 作者:三月 本篇文章给大家主要讲的是关于MySQL分库分表备份数据库脚本的操作 ...
- 怎么在linux下用mysql建库_在MySQL/MariaDB中创建数据库、数据库用户和授予特权(针对Linux平台)...
在本文中,将学习MySQL/MariaDB数据库创建.数据库用户创建以及如何向用户授予权限,方法针对Linux平台.安装数据库请参考为CentOS 8操作系统安装MySQL的方法,以安装MySQL 8 ...
- 用shell脚本实现定时备份数据库
1.备份数据库的方法 可以使用命令查看 ls /usr/local/mysql/bin 这个mysqldump就是系统内置的用来备份数据库的工具. 2.实现方法 ①先随便进入一个位置创建一个目录 ② ...
最新文章
- 数据集cifar10到Caffe支持的lmdb/leveldb转换的实现
- 超速电眼:全时成像芯片重塑机器视觉
- MIT自然语言处理第二讲:单词计数(第一、二部分)
- FastDFS配置手册trackerstorage
- java学习(90):Character方法大小写转换
- Window10环境下的Jupyter notebook安装与打开默认路径的修改
- 查询屏幕中一个已知颜色的值
- 阿里投资网红茶饮“茶颜悦色” 进军茶饮市场?官方回应:爸爸的爸爸叫爷爷...
- 中国急性髓系白血病药物市场趋势报告、技术动态创新及市场预测
- 试题 15 枚举n-m之间的所有质数(质数)
- Atitit 人工智能目前的进展与未来 包含的技术 v3
- silverlight 碰撞检测
- Loading 加载中 图片素材
- http下载文件(常用方式+支持在线打开方式)
- 阿里云大学:百度贴吧自动签到实现
- C Primer Plus(第6版)第十章复习题答案
- nutch 抓取流程解析
- 俄亥俄州立大学哥伦布分校计算机科学,俄亥俄州立大学哥伦布分校什么专业最好?...
- 问题 C: 神奇的口袋
- yocs_velocity_smoother速度平滑库知识
热门文章
- SPSS和excel数据分析之平均值和标准误差对比图
- atitit 信息化2.0概论 艾提拉解读版读书笔记.docx 目录 1. 企业信息化1.0时代 1.1.6 C/S模式和B/S模式的好坏 1.1.7 大集中的争议 1.1.8 没有解决的孤岛问
- Atitit redis使用场合总结 使用场景 目录 1.1. 3. Session 存储	1 1、 配置数据查询	1 2. 排行榜应用,取TOP N操作	1 1.2. 1、查找最
- atitit 数据库mysq启动不起来解决方案.docx
- paip.提升用户体验---注册异常记录
- 托管银行数字化转型发展探讨|专家视角
- 克里斯坦森:管理水平高的公司往往离崩塌不远
- rust: 写CTP策略中的几个难点
- 信息安全等级保护建设(二,三级)需上的设备
- Kafka从上手到实践 - 初步认知:Zookeeper | 凌云时刻