我是数据库和MySQL的新手,仍在学习它。我的任务是看是否可以将MySQL数据目录存储在网络驱动器中...目的是对目录进行备份,并允许多个用户指向该特定目录。
我已经能够成功地将数据目录移动到PC上的其他位置,但是当我尝试将数据目录移动到网络驱动器时却没有成功。
是否可以将数据目录移动到共享的网络驱动器中,如果可以,我应该采取什么步骤?
注意:
答案 0 :(得分:0)
也许您的方法不是最优的,或者我误解了这个问题(或者谁给您任务的人在备份MySQL数据库的最佳方法上还不清楚)。如果您是我,我将把它交给任何要求您执行此任务的人,那就是,对数据库进行纯文本SQL(*.sql
)转储并将其放入备份目录将比使之简单/容易。数据目录本身的备份,其中包含数据库的二进制文件表示形式。
要转储所有数据库:
$ 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
在每个DROP DATABASE
语句之前写一个CREATE DATABASE
语句。要转储单个数据库,请在命令行上将其命名:
$ mysqldump --databases test > dump.sql
供读者使用的锻炼:编写脚本(crontab)或设置计划任务以转储数据库并将输出移至网络驱动器。
如果这不是必需的,而是需要多人访问数据库,则使用MySQL Server RDBMS创建用户帐户。 (您可能需要将服务器配置为允许远程访问。在这种情况下,请删除任何test
或anonymous
/ blank password
帐户,并将根密码更改为比{{1 }},root
或admin
。)