教学之友,学习之友。

站长教学网

当前位置: 站长教学网 > 数据库 > MYSQL教程 >

MySQL数据库如何备份和还原几种方法详解(2)

时间:2012-03-27 23:08来源:未知 作者:ken 点击:
  

2、 mysqlhotcopy

  2.1 备份

  mysqlhotcopy 是一个 PERL 程序,最初由Tim Bunce编写。它使用 LOCK TABLES、FLUSH TABLES 和 cp 或 scp 来快速备份数据库。它是备份数据库或单个表的最快的途径,但它只能运行在数据库文件(包括数据表定义文件、数据文件、索引文件)所在的机器上。mysqlhotcopy 只能用于备份 MyISAM,并且只能运行在 类Unix 和 NetWare 系统上。

  mysqlhotcopy 支持一次性拷贝多个数据库,同时还支持正则表达。以下是几个例子:

  root#/usr/local/mysql/bin/mysqlhotcopy -h=localhost -u=yejr -p=yejr db_name /tmp

  (把数据库目录 db_name 拷贝到 /tmp 下)

  root#/usr/local/mysql/bin/mysqlhotcopy -h=localhost -u=yejr -p=yejr db_name_1 ...

  db_name_n /tmproot#/usr/local/mysql/bin/mysqlhotcopy -h

  =localhost -u=yejr -p=yejr db_name./regex/ /tmp

  更详细的使用方法请查看手册,或者调用下面的命令来查看 mysqlhotcopy 的帮助:

  perldoc /usr/local/mysql/bin/mysqlhotcopy

  注意,想要使用 mysqlhotcopy,

  必须要有 SELECT、RELOAD(要执行 FLUSH TABLES) 权限,并且还必须要能够有读取 datadir/db_name 目录的权限。

  2.2 还原

  mysqlhotcopy备份出来的是整个数据库目录,使用时可以直接拷贝到 mysqld 指定的 datadir (在这里是 /usr/local/mysql/data/)目录下即可,同时要注意权限的问题,如下例:

  root#cp -rf db_name /usr/local/mysql/data/root#chown -R nobody:nobody /usr/local/mysql/data/

  (将 db_name 目录的属主改成 mysqld 运行用户)

(责任编辑:ken)

TAG标签: mysql 备份 还原 数据库
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
注册登录:不允许匿名留言,登录后留言无需输入验证码。
栏目列表
最新内容