`
- 浏览:
904390 次
- 性别:
- 来自:
西安
-
今天有空尝试了一下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)、其它的等待测试过了再发布。。。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
### MySQL数据库自动备份与破坏后的恢复 #### 一、引言 在数据库管理中,确保数据的安全性和可恢复性至关重要。一旦发生意外如硬件故障、软件错误或人为失误导致的数据丢失,如果没有有效的备份策略,可能会造成...
mysqlhotcopy是一种快速备份MyISAM和ISAM表的工具,它通过锁表和直接复制表文件的方式在服务器上工作,用于保证数据的一致性。它的运行速度非常快,可以利用磁盘的复制功能来实现备份。 ### Shell脚本实现自动备份 ...
### MySQL的自动备份与恢复(使用mysqlhotcopy) #### 一、引言 在数据库管理领域,确保数据的安全性和完整性至关重要。一旦发生意外情况导致数据丢失或损坏,如果没有事先做好充分的数据备份工作,可能会造成不可...
`mysqlhotcopy`工具是MySQL提供的一种快速、便捷的备份方法,尤其适用于MyISAM和ARCHIVE存储引擎的表。它可以直接拷贝数据文件,同时锁定表以防止数据修改,从而确保备份的一致性。 在使用`mysqlhotcopy`之前,需要...
MySQL的`mysqlhotcopy`工具是数据库管理员在进行热备份时的一个强大助手,尤其对于那些需要快速、在线备份数据的场景。它允许在不中断服务的情况下复制数据文件,确保数据的一致性。`mysqlhotcopy`是专为MySQL设计的...
### MySQL备份总结 #### 一、冷备份与热备份 **冷备份**通常是指在数据库关闭的情况下进行的数据备份。这种方法简单直接,适用于不需要频繁备份的场景。然而,在生产环境中很少会关闭数据库服务来进行备份,因此冷...
#### 三、MySQL备份工具与策略 - **Mysqldump** - 逻辑备份工具,支持增量备份,适用于中小规模数据库。 - **Mysqlhotcopy** - 物理备份工具,专为MyISAM设计,适用于较小规模数据库。 - **企业版集群备份** - ...
MySQL提供了多种备份方法,包括mysqldump、mysqlhotcopy(适用于InnoDB和MyISAM表)以及Percona Xtrabackup(适合InnoDB引擎,支持热备份)。在这个场景下,我们主要关注使用mysqldump命令进行逻辑备份,这是一种...
MySQL数据库备份是确保数据安全的重要环节,本文将总结四种常见的MySQL备份方法:mysqldump、直接拷贝、mysqlhotcopy以及同步复制。 1. **mysqldump备份**: mysqldump是一个命令行实用程序,用于创建数据库或表的...
MySQL数据库管理与应用-MySQL工具 MySQL是目前最流行的开源关系数据库管理系统之一,本资源摘要信息将对MySQL数据库管理与应用中的MySQL工具进行详细的概述和说明。 一、MySQL程序概述 MySQL AB提供了几种类型的...
本文将探讨两种常用的 MySQL 备份策略:直接拷贝数据库文件和使用 `mysqlhotcopy` 工具。 首先,直接拷贝数据库文件是一种简单但不推荐的方法,因为它无法实现增量备份,即只备份自上次备份以来发生更改的数据。...
MySQL提供了多种方式进行数据备份,包括使用`mysqldump`命令、直接复制整个数据库目录以及使用`mysqlhotcopy`工具。 - `mysqldump`是MySQL提供的标准备份工具,它将数据库结构和数据转换为SQL语句,可以生成一个可...
MYSQL数据库备份与恢复 在数据库管理中,备份和恢复是非常重要的两个方面。由于各种原因,数据可能会丢失或服务器崩溃,因此拥有能够恢复的数据对于一个数据库系统来说是非常重要的。 MySQL 提供了三种保证数据安全...
本篇文章将详细介绍 Mysql 数据库备份的方法和步骤,从基础的 mysqldump 命令到备份多个数据库和所有数据库的操作,还有直接复制整个数据库项目和使用 mysqlhotcopy 工具快速备份的方法。 一、Mysql 中的数据备份 ...
物理备份和逻辑备份工具如mysqldump, mysqlhotcopy, Xtrabackup等保障数据安全。 12. **性能测试**:IOMeter, fio, iozone用于磁盘性能测试,Memcached扩展如Mcrouter, Codis, Twemproxy提升缓存效率,MongoDB的...
6. **更强大的备份工具**:MySQL 5.5 提供了改进的备份工具,如 `mysqldump` 和 `mysqlhotcopy`,使得数据库备份和恢复更为简单和快速。 7. **更丰富的 SQL 功能**:支持更多的窗口函数、自定义排序和组内排序等...
MySQL提供了多种备份方法,包括但不限于逻辑备份工具如`mysqldump`、物理备份工具如`mysqlhotcopy`以及使用简单的文件系统命令如`tar`进行打包备份等。这些工具各有优缺点,可以根据实际情况选择合适的备份方案。 #...
MySQL 提供了多种数据备份方式,其中最常用的包括 `mysqldump` 和 `mysqlhotcopy` 工具。本文将详细介绍这些工具的使用方法,并通过实例展示如何进行数据备份。 #### 二、`mysqldump` 命令详解 `mysqldump` 是一个...