【发布时间】:2009-10-20 16:27:15
【问题描述】:
我需要从一个没有安装mysqldump 的共享主机转储数据库。实际上,整套 MySQL 实用程序中只有 mysql 和 mysqladmin 可用。
这是可行的还是我需要安装类似 phpMyAdmin 的东西?
【问题讨论】:
我需要从一个没有安装mysqldump 的共享主机转储数据库。实际上,整套 MySQL 实用程序中只有 mysql 和 mysqladmin 可用。
这是可行的还是我需要安装类似 phpMyAdmin 的东西?
【问题讨论】:
您可以使用以下方法(来自文档中的Database Backups)
通过复制文件进行备份
MyISAM 表存储为文件,因此通过复制文件进行备份很容易。要获得一致的备份,请对相关表执行 LOCK TABLES,然后对表执行 FLUSH TABLES。你只需要一个读锁;这允许其他客户端在您复制数据库目录中的文件时继续查询表。需要 FLUSH TABLES 语句来确保在开始备份之前将所有活动索引页写入磁盘。
FLUSH TABLES WITH READ LOCK;
关闭所有打开的表并使用读锁锁定所有数据库的所有表,直到您通过执行 UNLOCK TABLES 显式释放锁。如果您有像 Veritas 这样可以及时拍摄快照的文件系统,这是一种非常方便的备份方式。
UNLOCK TABLES;
制作分隔文本文件备份
要创建包含表格数据的文本文件,您可以使用:
SELECT * INTO OUTFILE 'file_name' FROM tbl_name
此方法适用于任何类型的数据文件,但只保存表数据,不保存表结构。
要重新加载输出文件,请使用"
LOAD DATA INFILE
【讨论】:
关闭服务器并复制数据目录本身怎么样?
【讨论】:
你可以得到SQLYog。它有一个备份数据库作为每个数据库的 SQL Dump 选项。
【讨论】:
无论如何,
我不得不求助于Sypex dumper,这是一个基于 Web 的工具,用于快速(非常快,例如比 phpMyAdmin 快得多)MySQL 数据库转储。是俄文的,但界面相当明显。
【讨论】:
您可以使用 mysqldump 远程连接到服务器。例如:
mysqldump -u poweruser -h remote.mysql.host database
【讨论】:
Maatkit 似乎非常适合 mk-parallel-dump 和 mk-parallel-restore。
【讨论】: