4

我知道复制 mySQL InnoDB 文件(frm 等)是自找麻烦。但是如果我照原样复制整个 MSYSQL 目录呢?bin,数据,文档等。这行得通吗?我相信它应该工作。我对吗?

除非明确设置,否则我认为 MySQL 不会在 MySQL 文件夹之外执行任何操作。

对于那些想知道为什么我需要这样做的人,我构建了 Intranet 应用程序,我通常为这些东西制作简单的 1 单击基于 WINDOWS 的安装程序。这意味着在虚拟机器上准备 WAMP/XAMPP SERVER 状态、配置和所有内容,然后对其进行快照。

4

3 回答 3

7

从命令行,备份到 SQL 文件:

mysqldump -u 用户名 -p --lock-tables DB1 > 数据库备份.sql

对于多个数据库

mysqldump -u 用户名 -p --lock-tables --databases DB1 DB2 DB3 ... > 数据库备份.sql

对于所有数据库

mysqldump -u 用户名 -p --lock-tables --all-databases > 数据库备份.sql

使用“--lock-tables”来防止转储时访问数据库。

导入数据库:

mysql -u 用户名 -p DB1 < 数据库备份.sql

对于多个数据库:

mysql -u 用户名 -p < 数据库备份.sql

于 2012-12-25T08:49:26.077 回答
5

是的,您可以使用这种方法创建数据库的备份,但您需要先停止服务器,否则将面临数据不一致的风险。如果您只有 MyISAM 表,您通常可以通过FLUSH TABLES WITH READ LOCK复制目录和UNLOCK TABLES.

有关更多信息,请参阅http://dev.mysql.com/doc/mysql-backup-excerpt/5.0/en/backup-methods.html

于 2012-12-25T08:24:04.797 回答
1

对于 InnoDB 表,mysql>>data 文件夹中有一个日志文件。复制数据文件夹中的日志文件“ibdata1”,新安装的 Phpmyadmin 也会显示 innodb 表。否则它只会显示 MyISAM 表。

但是要注意一件事,如果您当前的数据文件夹中已经有 ibdata1 文件,则从备份中替换 ibdata1 文件可能会导致当前 InnoDB 表出现问题,但是如果您将备份数据库安装到新安装的 Xampp/Wamp,它会工作的。

于 2013-09-25T17:20:49.913 回答