备份 MySQL 个数据库
Backing up MySQL Databases
我 运行 MySQL 8.0 Windows 10 PC。还使用 MySQL Workbench.
我使用 Google Drive 备份所有重要数据。但是,我在各种 MySQL 数据库中获得了大量数据,但我不知道这些数据存储在我的 PC 上的什么位置,也不知道如何备份。有人可以帮忙吗? (最好在后台,或者作为某种日常自动化的东西)
谢谢。
您不需要知道数据存储在哪里,因为您不应该使用普通文件复制来备份 MySQL 数据。
您可以使用这样的 SQL 查询找到您的 MySQL 数据目录:
SELECT @@datadir;
但是,如果您在 MySQL 服务器处于活动状态时对 datadir 中的文件执行拖放文件副本,您将获得损坏的备份。原因是 MySQL 服务器可能正在写入数据,即使没有查询 运行。如果您尝试复制文件,这可能会读取一些与最新更改不同步的数据文件。所以备份将有一些文件是在更改之前创建的,而其他文件是在最近更改之后创建的。尝试还原此备份将导致一组文件无法使用。
直接从数据目录复制文件以备份 MySQL 数据的唯一安全方法是先停止 MySQL 服务器服务。
最好使用像mysqldump这样的备份工具以一致的状态导出数据。在 MySQL Workbench 中,尝试菜单 Server->Data Export。这是一个用户界面,但在内部它只是根据您在 UI.
中提供的选项运行 mysqldump
我 运行 MySQL 8.0 Windows 10 PC。还使用 MySQL Workbench.
我使用 Google Drive 备份所有重要数据。但是,我在各种 MySQL 数据库中获得了大量数据,但我不知道这些数据存储在我的 PC 上的什么位置,也不知道如何备份。有人可以帮忙吗? (最好在后台,或者作为某种日常自动化的东西)
谢谢。
您不需要知道数据存储在哪里,因为您不应该使用普通文件复制来备份 MySQL 数据。
您可以使用这样的 SQL 查询找到您的 MySQL 数据目录:
SELECT @@datadir;
但是,如果您在 MySQL 服务器处于活动状态时对 datadir 中的文件执行拖放文件副本,您将获得损坏的备份。原因是 MySQL 服务器可能正在写入数据,即使没有查询 运行。如果您尝试复制文件,这可能会读取一些与最新更改不同步的数据文件。所以备份将有一些文件是在更改之前创建的,而其他文件是在最近更改之后创建的。尝试还原此备份将导致一组文件无法使用。
直接从数据目录复制文件以备份 MySQL 数据的唯一安全方法是先停止 MySQL 服务器服务。
最好使用像mysqldump这样的备份工具以一致的状态导出数据。在 MySQL Workbench 中,尝试菜单 Server->Data Export。这是一个用户界面,但在内部它只是根据您在 UI.
中提供的选项运行 mysqldump