今天有空尝试了一下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)
.
分享到:
相关推荐
### 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` 是一个...