首页 > 解决方案 > 网络驱动器上的 MySQL 数据目录?

问题描述

我是数据库和 MySQL 的新手,并且仍在学习它的过程中。我的任务是查看是否可以将 MySQL 数据目录存储在网络驱动器中……目的是备份目录并允许多个用户指向该特定目录。

我已经能够成功地将数据目录移动到我的 PC 上的不同位置,但是当我尝试将数据目录移动到网络驱动器时没有成功。

是否可以将数据目录移动到共享网络驱动器中,如果可以,我应该采取哪些步骤?

笔记:

标签: mysqlnetworkingdirectorymysql-workbenchexternal

解决方案


也许您的方法不是最佳的,或者我误解了这个问题(或者给您任务的人不清楚备份 MySQL 数据库的最佳方法)。如果我是你,我会告诉任何要求你执行此任务的人,即制作*.sql数据库的纯文本 SQL () 转储并将其放入备份目录会比备份数据目录更容易/更简单本身,它包含数据库的二进制文件表示。

MySQLdump 手册页

转储所有数据库:

$ mysqldump --all-databases > dump.sql

要仅转储特定数据库,请在命令行上命名它们并使用以下--databases选项:

$ mysqldump --databases db1 db2 db3 > dump.sql

--databases选项使命令行上的所有名称都被视为数据库名称。如果没有此选项,mysqldump则将第一个名称视为数据库名称,将后面的名称视为表名称。

使用--all-databasesor --databases,在每个数据库的转储输出之前mysqldump写入CREATE DATABASE和语句。USE这确保了在重新加载转储文件时,它会创建每个数据库(如果它不存在)并使其成为默认数据库,以便将数据库内容加载到它们来自的同一数据库中。如果要使转储文件在重新创建之前强制删除每个数据库,也可以使用该--add-drop-database选项。在这种情况下,在每个语句之前mysqldump写一个语句。DROP DATABASECREATE DATABASE

要转储单个数据库,请在命令行上为其命名:

$ mysqldump --databases test > dump.sql

读者练习:编写脚本 (crontab) 或设置计划任务来转储数据库并将输出移动到网络驱动器。

如果这不是必需的,但需要多人访问数据库,请改为使用 MySQL 服务器 RDBMS 创建用户帐户。(您可能需要将服务器配置为允许远程访问。在这种情况下,删除任何testor anonymous/帐户并将 root 密码更改为比, orblank password更安全的密码。)rootadminpassword1


推荐阅读