`
brucectl
  • 浏览: 177811 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

mysqlhotcopy 热备工具体验与总结

阅读更多
用MYSQLHOTCOPY备份的步骤:
1、有没有PERL-DBD模块安装
我的机器上:
[root@localhost data]# rpm -qa |grep perl-DBD | grep MySQL

perl-DBD-MySQL-3.0007-1.fc6
2、在数据库段分配一个专门用于备份的用户
mysql> grant select,reload,lock tables on *.* to 'hotcopyer'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

3、在/etc/my.cnf或者登陆用户的个人主文件.my.cnf里面添加
[mysqlhotcopy]
interactive-timeout
user=hotcopyer
password=123456
port=3306
4、开始备份。
[root@localhost ~]# mysqlhotcopy t_girl t_girl_new

Locked 4 tables in 0 seconds.
Flushed tables (`t_girl`.`category`, `t_girl`.`category_part`, `t_girl`.`id`, `t_girl`.`parent`) in 0 seconds.
Copying 22 files...
Copying indices for 0 files...
Unlocked tables.
mysqlhotcopy copied 4 tables (22 files) in 5 seconds (5 seconds overall).

备份后的目录:
[root@localhost data]# du -h | grep t_girl

213M ./t_girl
213M ./t_girl_copy
[root@localhost ~]#

5、MYSQLHOTCOPY用法详解。
1)、mysqlhotcopy 原数据库名,新数据库名
[root@localhost ~]# mysqlhotcopy t_girl t_girl_new

Locked 4 tables in 0 seconds.
Flushed tables (`t_girl`.`category`, `t_girl`.`category_part`, `t_girl`.`id`, `t_girl`.`parent`) in 0 seconds.
Copying 22 files...
Copying indices for 0 files...
Unlocked tables.
mysqlhotcopy copied 4 tables (22 files) in 5 seconds (5 seconds overall).
2)、mysqlhotcopy 原数据库名,备份的目录
[root@localhost ~]# mysqlhotcopy t_girl /tmp/

Locked 4 tables in 0 seconds.
Flushed tables (`t_girl`.`category`, `t_girl`.`category_part`, `t_girl`.`id`, `t_girl`.`parent`) in 0 seconds.
Copying 22 files...
Copying indices for 0 files...
Unlocked tables.
mysqlhotcopy copied 4 tables (22 files) in 6 seconds (6 seconds overall).
3)、对单个表支持正则表达式
(除了id 表外)
[root@localhost data]# mysqlhotcopy t_girl./~id/

Using copy suffix '_copy'
Locked 3 tables in 0 seconds.
Flushed tables (`t_girl`.`category`, `t_girl`.`category_part`, `t_girl`.`parent`) in 0 seconds.
Copying 19 files...
Copying indices for 0 files...
Unlocked tables.
mysqlhotcopy copied 3 tables (19 files) in 6 seconds (6 seconds overall).
[root@localhost data]#


4)、可以把记录写到专门的表中。具体察看帮助。
perldoc mysqlhostcopy

mysql> create database hotcopy;
Query OK, 1 row affected (0.03 sec)
mysql> use hotcopy
Database changed
mysql> create table checkpoint(time_stamp timestamp not null,src varchar(32),dest varchar(60), msg varchar(255));
Query OK, 0 rows affected (0.01 sec)
同时记得给hotcopyer用户权限。
mysql> grant insert on hotcopy.checkpoint to hotcopyer@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> \q
Bye
重复第三步的操作

[root@localhost ~]# mysqlhotcopy t_girl./~id/ --allowold --checkpoint hotcopy.checkpoint

Using copy suffix '_copy'
Existing hotcopy directory renamed to '/usr/local/mysql/data/t_girl_copy_old'
Locked 3 tables in 0 seconds.
Flushed tables (`t_girl`.`category`, `t_girl`.`category_part`, `t_girl`.`parent`) in 0 seconds.
Copying 19 files...
Copying indices for 0 files...
Unlocked tables.
mysqlhotcopy copied 3 tables (19 files) in 12 seconds (13 seconds overall).


默认保存在数据目录下/t_girl_copy/
看看记录表。
mysql> use hotcopy;
Database changed
mysql> select * from checkpoint;
+---------------------+--------+-----------------------------------+-----------+
| time_stamp | src | dest | msg |
+---------------------+--------+-----------------------------------+-----------+
| 2008-03-11 14:44:58 | t_girl | /usr/local/mysql/data/t_girl_copy | Succeeded |
+---------------------+--------+-----------------------------------+-----------+
1 row in set (0.00 sec)

5)、支持增量备份。
[root@localhost ~]# mysqlhotcopy t_girl./~id/ --allowold --checkpoint hotcopy.checkpoint --addtodest t_girl_new

Locked 3 tables in 0 seconds.
Flushed tables (`t_girl`.`category`, `t_girl`.`category_part`, `t_girl`.`parent`) in 0 seconds.
Copying 19 files...
Copying indices for 0 files...
Unlocked tables.
mysqlhotcopy copied 3 tables (19 files) in 7 seconds (7 seconds overall).

mysqlhotcopy可以把執行的操作記錄入資料庫中,所以我建立了下面這個DB/Table:

CREATE DATABASE `dbinfo`;
USE dbinfo;

CREATE TABLE `checkpoint` (
`time_stamp` timestamp(14) NOT NULL,
`src` varchar(32) NOT NULL default '',
`dest` varchar(60) NOT NULL default '',
`msg` varchar(255) NOT NULL default '',
PRIMARY KEY (`time_stamp`)
) TYPE=MyISAM;

然後建立一個備份目錄。如果不指定備份目錄,mysqlhotcopy會在原來的位置備份(Redhat下面是/var/lib/mysql/),只不過目錄名後面加上了 _old 這個尾碼。
好了一切準備妥當,測試一下:

mysqlhotcopy --checkpoint dbinfo.checkpoint --addtodest db_douzi_org /var/db_backup

簡單說明一下:
--checkpoint dbinfo.checkpoint 這個是指定存放操作記錄的資料庫/表
--addtodest 增量備份,新的備份自動覆蓋掉原來的
db_douzi_org 我要備份的資料庫名,如果有多個,依次寫就行
/var/db_backup 備份目錄

分享到:
评论

相关推荐

    mysql 数据库自动备份与数据库被破坏后的恢复_mysqlhotcopy

    ### MySQL数据库自动备份与破坏后的恢复 #### 一、引言 在数据库管理中,确保数据的安全性和可恢复性至关重要。一旦发生意外如硬件故障、软件错误或人为失误导致的数据丢失,如果没有有效的备份策略,可能会造成...

    MySQL的自动备份与恢复(mysqlhotcopy)

    mysqlhotcopy是一种快速备份MyISAM和ISAM表的工具,它通过锁表和直接复制表文件的方式在服务器上工作,用于保证数据的一致性。它的运行速度非常快,可以利用磁盘的复制功能来实现备份。 ### Shell脚本实现自动备份 ...

    mysql的自动备份与恢复(mysqlhotcopy).docx

    ### MySQL的自动备份与恢复(使用mysqlhotcopy) #### 一、引言 在数据库管理领域,确保数据的安全性和完整性至关重要。一旦发生意外情况导致数据丢失或损坏,如果没有事先做好充分的数据备份工作,可能会造成不可...

    mysql的自动备份与恢复(mysqlhotcopy).pdf

    `mysqlhotcopy`工具是MySQL提供的一种快速、便捷的备份方法,尤其适用于MyISAM和ARCHIVE存储引擎的表。它可以直接拷贝数据文件,同时锁定表以防止数据修改,从而确保备份的一致性。 在使用`mysqlhotcopy`之前,需要...

    mysqlhotcopy 正则使用小技巧

    MySQL的`mysqlhotcopy`工具是数据库管理员在进行热备份时的一个强大助手,尤其对于那些需要快速、在线备份数据的场景。它允许在不中断服务的情况下复制数据文件,确保数据的一致性。`mysqlhotcopy`是专为MySQL设计的...

    mysql备份总结

    ### MySQL备份总结 #### 一、冷备份与热备份 **冷备份**通常是指在数据库关闭的情况下进行的数据备份。这种方法简单直接,适用于不需要频繁备份的场景。然而,在生产环境中很少会关闭数据库服务来进行备份,因此冷...

    mysql 培训ppt

    #### 三、MySQL备份工具与策略 - **Mysqldump** - 逻辑备份工具,支持增量备份,适用于中小规模数据库。 - **Mysqlhotcopy** - 物理备份工具,专为MyISAM设计,适用于较小规模数据库。 - **企业版集群备份** - ...

    MySQL数据库备份与恢复的全面指南

    具体包括:mysqldump工具的全量和增量备份、mysqlhotcopy工具的热备份、XtraBackup工具的在线热备份与增量备份。每种工具都有详细的命令示例和操作步骤,确保读者能够熟练掌握MySQL的备份与恢复技巧。此外,还讨论了...

    linux mysql自动备份工具

    MySQL提供了多种备份方法,包括mysqldump、mysqlhotcopy(适用于InnoDB和MyISAM表)以及Percona Xtrabackup(适合InnoDB引擎,支持热备份)。在这个场景下,我们主要关注使用mysqldump命令进行逻辑备份,这是一种...

    MYSQL四种备份方法总结[归类].pdf

    MySQL数据库备份是确保数据安全的重要环节,本文将总结四种常见的MySQL备份方法:mysqldump、直接拷贝、mysqlhotcopy以及同步复制。 1. **mysqldump备份**: mysqldump是一个命令行实用程序,用于创建数据库或表的...

    MySQL数据库管理与应用-MySQL工具.ppt

    MySQL数据库管理与应用-MySQL工具 MySQL是目前最流行的开源关系数据库管理系统之一,本资源摘要信息将对MySQL数据库管理与应用中的MySQL工具进行详细的概述和说明。 一、MySQL程序概述 MySQL AB提供了几种类型的...

    MySQL 备份和恢复策略

    本文将探讨两种常用的 MySQL 备份策略:直接拷贝数据库文件和使用 `mysqlhotcopy` 工具。 首先,直接拷贝数据库文件是一种简单但不推荐的方法,因为它无法实现增量备份,即只备份自上次备份以来发生更改的数据。...

    完整精品数据库课件 MySQL从入门到精通 第14章 数据备份与还原(共21页).ppt

    MySQL提供了多种方式进行数据备份,包括使用`mysqldump`命令、直接复制整个数据库目录以及使用`mysqlhotcopy`工具。 - `mysqldump`是MySQL提供的标准备份工具,它将数据库结构和数据转换为SQL语句,可以生成一个可...

    MYSQL入门第五章数据库的备份与恢复.doc

    MYSQL数据库备份与恢复 在数据库管理中,备份和恢复是非常重要的两个方面。由于各种原因,数据可能会丢失或服务器崩溃,因此拥有能够恢复的数据对于一个数据库系统来说是非常重要的。 MySQL 提供了三种保证数据安全...

    Mysql数据库备份(一)-数据库备份和表备份.docx

    本篇文章将详细介绍 Mysql 数据库备份的方法和步骤,从基础的 mysqldump 命令到备份多个数据库和所有数据库的操作,还有直接复制整个数据库项目和使用 mysqlhotcopy 工具快速备份的方法。 一、Mysql 中的数据备份 ...

    IT运维工程师的23个细节进阶.pdf

    物理备份和逻辑备份工具如mysqldump, mysqlhotcopy, Xtrabackup等保障数据安全。 12. **性能测试**:IOMeter, fio, iozone用于磁盘性能测试,Memcached扩展如Mcrouter, Codis, Twemproxy提升缓存效率,MongoDB的...

    Mysql5.5版本加可视化软件

    6. **更强大的备份工具**:MySQL 5.5 提供了改进的备份工具,如 `mysqldump` 和 `mysqlhotcopy`,使得数据库备份和恢复更为简单和快速。 7. **更丰富的 SQL 功能**:支持更多的窗口函数、自定义排序和组内排序等...

    mysql的备份和恢复

    MySQL提供了多种备份方法,包括但不限于逻辑备份工具如`mysqldump`、物理备份工具如`mysqlhotcopy`以及使用简单的文件系统命令如`tar`进行打包备份等。这些工具各有优缺点,可以根据实际情况选择合适的备份方案。 #...

Global site tag (gtag.js) - Google Analytics