mysql - 网络驱动器上的 MySQL 数据目录?
问题描述
我是数据库和 MySQL 的新手,并且仍在学习它的过程中。我的任务是查看是否可以将 MySQL 数据目录存储在网络驱动器中……目的是备份目录并允许多个用户指向该特定目录。
我已经能够成功地将数据目录移动到我的 PC 上的不同位置,但是当我尝试将数据目录移动到网络驱动器时没有成功。
是否可以将数据目录移动到共享网络驱动器中,如果可以,我应该采取哪些步骤?
笔记:
- 视窗 10
- 尝试移动目录并编辑 my.ini 文件
解决方案
也许您的方法不是最佳的,或者我误解了这个问题(或者给您任务的人不清楚备份 MySQL 数据库的最佳方法)。如果我是你,我会告诉任何要求你执行此任务的人,即制作*.sql
数据库的纯文本 SQL () 转储并将其放入备份目录会比备份数据目录更容易/更简单本身,它包含数据库的二进制文件表示。
转储所有数据库:
$ mysqldump --all-databases > dump.sql
要仅转储特定数据库,请在命令行上命名它们并使用以下
--databases
选项:
$ mysqldump --databases db1 db2 db3 > dump.sql
该--databases
选项使命令行上的所有名称都被视为数据库名称。如果没有此选项,mysqldump
则将第一个名称视为数据库名称,将后面的名称视为表名称。
使用
--all-databases
or--databases
,在每个数据库的转储输出之前mysqldump
写入CREATE DATABASE
和语句。USE
这确保了在重新加载转储文件时,它会创建每个数据库(如果它不存在)并使其成为默认数据库,以便将数据库内容加载到它们来自的同一数据库中。如果要使转储文件在重新创建之前强制删除每个数据库,也可以使用该--add-drop-database
选项。在这种情况下,在每个语句之前mysqldump
写一个语句。DROP DATABASE
CREATE DATABASE
要转储单个数据库,请在命令行上为其命名:
$ mysqldump --databases test > dump.sql
读者练习:编写脚本 (crontab) 或设置计划任务来转储数据库并将输出移动到网络驱动器。
如果这不是必需的,但需要多人访问数据库,请改为使用 MySQL 服务器 RDBMS 创建用户帐户。(您可能需要将服务器配置为允许远程访问。在这种情况下,删除任何test
or anonymous
/帐户并将 root 密码更改为比, orblank password
更安全的密码。)root
admin
password1
推荐阅读
- ansible - ansible:AnsibleModule.log() 方法不会将任何内容打印到 stdout/stderr
- python-3.x - 不和谐 @bot.event 在 cog
- html - 嵌入式 Instagram 帖子的响应速度不够快
- python - Python:使用带有startswith的lambda
- android - 卡片的垂直列表视图 - 不正确的卡片被打开
- android - Google 健身 getHistoryClient 和 getSessionsClient
- amazon-web-services - CloudFormation 自定义资源 responseKey
- algorithm - 将字符串散列为动态字符数的算法
- node.js - 是否可以进行带有偏移的滚动 cron 作业?
- postgresql - 如何比较冲突的 2 个时间点之间的时间戳