最全的MYSQL备份方法

来源:asp之家 时间:2009-12-29 10:19:00 

本人曾经用过的备份方式有:mysqldump、mysqlhotcopy、BACKUP TABLE 、SELECT INTO OUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文件和相关的配置文件。MyISAM 表是保存成文件的形式,因此相对比较容易备份,上面提到的几种方法都可以使用。Innodb 所有的表都保存在同一个数据文件 ibdata1 中(也可能是多个文件,或者是独立的表空间文件),相对来说比较不好备份,免费的方案可以是拷贝数据文件、备份 binlog,或者用mysqldump。

  1.mysqldump备份

mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL 脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法。

示例:mysqldump -uroot -p database table > /home/jobs/back.sql

mysqldump也可做增量备份,mysqldump相关参数网上较多,就不在此一一赘述了

  2.mysqlhotcopy备份

mysqlhotcopy 是一个 PERL 程序。它使用 LOCK TABLES、FLUSH TABLES 和 cp 或 scp 来快速备份数据库。它是备份数据库或单个表的最快的途径,但它只能运行在数据库文件(包括数据表定义文件、数据文件、索引文件)所在的机器上。

mysqlhotcopy 只能用于备份 MyISAM,并且只能运行在 类Unix 和 NetWare 系统上。

mysqlhotcopy 支持一次性拷贝多个数据库,同时还支持正则表达。

示例: root#/usr/local/mysql/bin/mysqlhotcopy -h=localhost -u=root

-p=123456 database /tmp (把数据库目录 database 拷贝到 /tmp下)root#/usr/local/mysql/bin/mysqlhotcopy -h=localhost -u=root -p=123456 db_name_1 ... db_name_n /tmproot#/usr/local/mysql/bin/mysqlhotcopy

-h=localhost -u=root -p=123456 db_name./regex//tmp更详细的使用方法请查看手册,或者调用下面的命令来查看 mysqlhotcopy 的帮助:

perldoc /usr/local/mysql/bin/mysqlhotcopy注意,想要使用 mysqlhotcopy,必须要有SELECT、RELOAD(要执行 FLUSH TABLES) 权限,并且还必须要能够有读取 datadir/db_name 目录的权限。

还原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 运行用户)

标签:mysql,备份,日志
0
投稿

猜你喜欢

  • 浅谈pandas用groupby后对层级索引levels的处理方法

    2022-10-15 01:43:37
  • 如何利用Image Data Type在主页中显示图形?

    2010-01-01 15:13:00
  • 详解如何在python中读写和存储matlab的数据文件(*.mat)

    2023-06-27 22:24:32
  • Python多线程操作之互斥锁、递归锁、信号量、事件实例详解

    2023-03-09 04:22:05
  • asp用err.raise自定义错误信息

    2007-09-12 19:38:00
  • js下将字符串当函数执行的方法

    2024-06-15 23:01:25
  • django 解决扩展自带User表遇到的问题

    2022-04-23 10:48:43
  • python3+selenium4实现切换窗口与iframe的方法

    2022-08-08 16:34:16
  • 编写SQL需要注意的细节Checklist总结

    2024-01-17 14:41:56
  • Python生成九宫格图片的示例代码

    2023-03-16 20:29:38
  • 戏说编码发展史

    2022-12-12 02:48:05
  • python的类class定义及其初始化方式

    2023-08-07 11:52:15
  • Pycharm生成可执行文件.exe的实现方法

    2023-07-19 12:09:54
  • mysql limit查询优化分析

    2023-11-16 00:51:04
  • Python Series从0开始索引的方法

    2021-07-17 19:20:38
  • TypeScript新语法之infer extends示例详解

    2024-03-13 20:42:27
  • cordova+vue+webapp使用html5获取地理位置的方法

    2024-04-27 16:00:05
  • python使用opencv对图像mask处理的方法

    2021-05-03 03:23:19
  • Django给admin添加Action的步骤详解

    2022-10-12 00:59:40
  • js DNA动态序列比对代码

    2024-04-16 10:41:26
  • asp之家 网络编程 m.aspxhome.com