网络驱动器上的MySQL数据目录?

时间:2018-09-19 15:10:23

标签: mysql networking directory mysql-workbench external

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

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

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

注意:

  • Windows 10
  • 尝试移动目录并编辑my.ini 文件

1 个答案:

答案 0 :(得分:0)

也许您的方法不是最优的,或者我误解了这个问题(或者谁给您任务的人在备份MySQL数据库的最佳方法上还不清楚)。如果您是我,我将把它交给任何要求您执行此任务的人,那就是,对数据库进行纯文本SQL(*.sql)转储并将其放入备份目录将比使之简单/容易。数据目录本身的备份,其中包含数据库的二进制文件表示形式。

来自MySQLdump manual page

  

要转储所有数据库:

$ mysqldump --all-databases > dump.sql
  

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

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

--databases选项使命令行上的所有名称都被视为数据库名称。如果没有此选项,mysqldump会将名字当作数据库名称,将其后的名字当作表格名称。

  

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

     

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

$ mysqldump --databases test > dump.sql

供读者使用的锻炼:编写脚本(crontab)或设置计划任务以转储数据库并将输出移至网络驱动器。

如果这不是必需的,而是需要多人访问数据库,则使用MySQL Server RDBMS创建用户帐户。 (您可能需要将服务器配置为允许远程访问。在这种情况下,请删除任何testanonymous / blank password帐户,并将根密码更改为比{{1 }},rootadmin。)