`
saybody
  • 浏览: 904390 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

mysqlhotcopy 热备工具体验与总结

阅读更多
今天有空尝试了一下MYSQLHOTCOPY这个快速热备MYISAM引擎的工具。
(本文是针对单个服务器的情况,以后将会加入多服务器相关操作)
他和MYSQLDUMP的比较:
1、前者是一个快速文件意义上的COPY,后者是一个数据库端的SQL语句集合。
2、前者只能运行在数据库目录所在的机器上,后者可以用在远程客户端。不过备份的文件还是保存在服务器上。
3、相同的地方都是在线执行LOCK TABLES 以及 UNLOCK TABLES
4、前者恢复只需要COPY备份文件到源目录覆盖即可,后者需要倒入SQL文件到原来库中。(source 或者\.或者 mysql < 备份文件)
用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).
6)、其它的等待测试过了再发布。。。
分享到:
评论

相关推荐

    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设计,适用于较小规模数据库。 - **企业版集群备份** - ...

    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`进行打包备份等。这些工具各有优缺点,可以根据实际情况选择合适的备份方案。 #...

    MySql数据备份常用命令集

    MySQL 提供了多种数据备份方式,其中最常用的包括 `mysqldump` 和 `mysqlhotcopy` 工具。本文将详细介绍这些工具的使用方法,并通过实例展示如何进行数据备份。 #### 二、`mysqldump` 命令详解 `mysqldump` 是一个...

Global site tag (gtag.js) - Google Analytics