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

标签 mysql networking directory mysql-workbench external

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

我已经能够成功地将数据目录移动到电脑上的其他位置,但当我尝试将数据目录移动到网络驱动器时却失败了。

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

注释:

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

最佳答案

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

来自MySQLdump manual page :

To dump all databases:

$ mysqldump --all-databases > dump.sql

To dump only specific databases, name them on the command line and use the --databases option:

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

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

With --all-databases or --databases, mysqldump writes CREATE DATABASE and USE statements prior to the dump output for each database. This ensures that when the dump file is reloaded, it creates each database if it does not exist and makes it the default database so database contents are loaded into the same database from which they came. If you want to cause the dump file to force a drop of each database before recreating it, use the --add-drop-database option as well. In this case, mysqldump writes a DROP DATABASE statement preceding each CREATE DATABASE statement.

To dump a single database, name it on the command line:

$ mysqldump --databases test > dump.sql

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

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

关于网络驱动器上的 MySQL 数据目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52409053/

相关文章:

mysql - 如何在一个查询中执行多个不同的计数聚合

memory - 缓存一致性协议(protocol) AMD Opteron 芯片(MOESI?)

powershell - 根据文件名子字符串创建文件夹

Python:如何检查路径是否是子路径

php - 为什么我的查询不执行?

MySql 多表约束

python - Redis、Python 通过网络发送消息

javascript - 如何关闭 websocket 就像 chrome 窗口关闭以将缓冲区刷新为 0

c# - 在即席查询中转义单引号

c - 文件描述符确实在C中写入数据