我是数据库和MySQL的新手,仍在学习中。我的任务是看看是否可以将MySQL数据目录存储在网络驱动器中...目的是备份目录并允许多个用户指向该特定目录。
我已经能够成功地将数据目录移动到PC上的其他位置,但是当我尝试将数据目录移动到网络驱动器时却没有成功。
是否可以将数据目录移动到共享网络驱动器中,如果是,我应该采取哪些步骤?
笔记:
- 视窗 10
- 已尝试移动目录并编辑 my.ini 文件
也许你的方法不是最佳的,或者我误解了这个问题(或者给你任务的人不清楚备份MySQL数据库的最佳方法(。如果我是你,我会告诉任何要求你做这个任务的人,制作数据库的纯文本 SQL(*.sql
(转储并将其放入备份目录比备份数据目录本身更容易/更简单,其中包含数据库的二进制文件表示。
从 MySQLdump 手册页:
转储所有数据库:
$ mysqldump --all-databases > dump.sql
要仅转储特定数据库,请在命令行上命名它们并使用
--databases
选项:
$ mysqldump --databases db1 db2 db3 > dump.sql
--databases
选项使命令行上的所有名称都被视为数据库名称。如果没有此选项,mysqldump
会将名字视为数据库名称,将后面的名字视为表名。
对于
--all-databases
或--databases
,mysqldump
在每个数据库的转储输出之前写入CREATE DATABASE
和USE
语句。这可确保在重新加载转储文件时,如果每个数据库不存在,它将创建每个数据库,并使其成为默认数据库,以便将数据库内容加载到它们来自的同一数据库中。如果要使转储文件在重新创建数据库之前强制删除每个数据库,请同时使用--add-drop-database
选项。在这种情况下,mysqldump
在每个CREATE DATABASE
语句之前编写一个DROP DATABASE
语句。若要转储单个数据库,请在命令行上命名它:
$ mysqldump --databases test > dump.sql
读者练习:编写脚本 (crontab( 或设置计划任务以转储数据库并将输出移动到网络驱动器。
如果这不是必需的,但多人访问数据库是必需的,请使用MySQL Server RDBMS创建用户帐户。(您可能需要将服务器配置为允许远程访问。在这种情况下,请删除任何test
或anonymous
/blank password
帐户,并将root密码更改为比root
,admin
或password1
更安全的密码。